📄 loadb.html
字号:
<?xml version="1.0" encoding="GB2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"><head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <meta name="keywords" content="electronic commerce, ecommerce, ebusiness, e-business, e-commerce, enterprise software, net economy, Sun Microsystems, Sun Open Net Environment, Sun ONE, internet software" /> <meta name="Description" content="Sun Microsystems, Inc. is delivering Sun ONE e-commerce software and enterprise solutions that enable companies to compete successfully in the Net Economy." /> <meta name="TemplateVersion" content="Sun ONE WDT 2.3.1" /> <meta name="LASTUPDATED" content="10/03/03 09:48:07" /> <meta name="BookTitle" content="Sun Java System Application Server Enterprise Edition 8.1 Administration Guide 2005Q1" /> <title>第 3 章 配置负载平衡和故障转移</title> <link href="catalog.css" tppabs="http://docs.sun.com/source/819-1553/catalog.css" rel="stylesheet" type="text/css" /> <!-- on load bring this window to front --> <script laguage="javascript"> top.window.focus(); </script></head><body text="#000000" link="#594FBF" vlink="#9966cc" alink="#333366" bgcolor="#FFFFFF"><a name="top"> </a><!-- navigation --> <table width="100%" border="0" cellspacing="4" summary="Header navigation table"> <tr><td> <p class="pNavigation"> <a HREF="javascript:if(confirm('http://www.sun.com/software/ \n\n该文件无法用 Teleport Ultra 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://www.sun.com/software/'" tppabs="http://www.sun.com/software/"> <img SRC="Logo.jpg" tppabs="http://docs.sun.com/source/819-1553/Logo.jpg" alt="Sun logo" valign="bottom" border="0" /></a>      <a href="clusters.html" tppabs="http://docs.sun.com/source/819-1553/clusters.html">上一页</a>      <a href="index.html" tppabs="http://docs.sun.com/source/819-1553/index.html">目录</a>      <a href="nodeagent.html" tppabs="http://docs.sun.com/source/819-1553/nodeagent.html">下一页</a>      </p> </td></tr> <tr><td valign="top" align="right" bgcolor="#594FBF"> <span class="cBookTitle">Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1</span> </td></tr> </table><!-- end navigation --><blockquote><!-- chapter content --><a name="wp696924"> </a><h2 class="pChapNumber"><span class="cGray">第 3 章</span><br /><a name="wp696928"> </a>配置负载平衡和故障转移</h2><a name="wp696938"> </a><p class="pParagraph">本章介绍了如何设置 Sun Java System Application Server 中的 HTTP 请求的负载平衡。并说明了如何配置由负载平衡器所控制的服务器实例之间的故障转移。此外,本章还讨论了 RMI-IIOP 负载平衡和故障转移。 </p><a name="wp696940"> </a><p class="pParagraph">它包含以下各节:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp696946"> </a><div class="pSmartList1"><li><a href="loadb.html#wp696974" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp696974">关于 HTTP 负载平衡和故障转移</a></li></div><a name="wp696952"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697331" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697331">为 HTTP 负载平衡配置 Web 服务器</a></li></div><a name="wp696958"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697576" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697576">HTTP 负载平衡器配置任务</a></li></div><a name="wp696964"> </a><div class="pSmartList1"><li><a href="loadb.html#wp698244" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp698244">升级应用程序</a></li></div><a name="wp696970"> </a><div class="pSmartList1"><li><a href="loadb.html#wp698418" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp698418">关于 RMI-IIOP 负载平衡和故障转移</a></li></div></ul></div><a name="wp696974"> </a><h2 class="pHeading1"><hr />关于 HTTP 负载平衡和故障转移</h2><div class="pSmartList1"><ul class="pSmartList1"><a name="wp696980"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697016" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697016">HTTP 负载平衡和故障转移</a></li></div><a name="wp696986"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697074" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697074">HTTP 负载平衡的要求</a></li></div><a name="wp696992"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697136" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697136">了解指定的请求和未指定的请求</a></li></div><a name="wp696998"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697172" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697172">HTTP 负载平衡算法</a></li></div><a name="wp697004"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697259" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697259">HTTP 负载平衡设置概述</a></li></div></ul></div><a name="wp697016"> </a><h3 class="pHeading2">HTTP 负载平衡和故障转移</h3><a name="wp697020"> </a><p class="pParagraph">负载平衡的目的是在多个 Sun Java System Application Server 实例(独立或群集)之间平均分配工作量,从而提高系统的整体吞吐量。 </p><a name="wp697026"> </a><p class="pParagraph">使用负载平衡器还可以启用从一个服务器实例故障转移到另一个服务器实例的请求。对于要保留的 HTTP 会话信息,请配置 HTTP 会话持久性。有关更多信息,请参见“<a href="sesspers.html#wp100542" tppabs="http://docs.sun.com/source/819-1553/sesspers.html#wp100542">配置可用性和会话持久性</a>”。</p><a name="wp697028"> </a><p class="pParagraph">使用 asadmin 工具而不是管理控制台来配置 HTTP 负载平衡。</p><a name="wp697074"> </a><h3 class="pHeading2">HTTP 负载平衡的要求</h3><a name="wp697078"> </a><p class="pParagraph">在使用负载平衡器插件进行 HTTP 请求之前,必须满足以下要求: </p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp697080"> </a><div class="pSmartList1"><li>已安装 Sun Java System Application Server Enterprise Edition。</li></div><a name="wp697082"> </a><div class="pSmartList1"><li>安装并配置了 Web 服务器。 </li></div></ul></div><div class="pParaIndent1"><ul class="pParaIndent1"><a name="wp697088"> </a><p class="pParaIndent1">有关更多信息,请参见“<a href="loadb.html#wp697331" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697331">为 HTTP 负载平衡配置 Web 服务器</a>”。</p></ul></div><div class="pSmartList1"><ul class="pSmartList1"><a name="wp697090"> </a><div class="pSmartList1"><li>已安装负载平衡器插件。</li></div><a name="wp697096"> </a><div class="pSmartList1"><li>已配置 Application Server。 </li></div><div class="pSmartList2"><ul class="pSmartList2"><a name="wp697102"> </a><div class="pSmartList2"><li>已创建参与负载平衡的 Application Server 实例或群集。</li></div><a name="wp697108"> </a><div class="pSmartList2"><li>应用程序已部署到参与负载平衡的所有 Application Server 实例或群集中。 </li></div><a name="wp697110"> </a><div class="pSmartList2"><li>参与负载平衡的服务器实例和群集必须具有同构环境。通常,这意味着服务器实例将引用相同的服务器配置,并且部署到服务器实例中的应用程序也相同。</li></div></ul></div></ul></div><a name="wp697136"> </a><h3 class="pHeading2">了解指定的请求和未指定的请求</h3><a name="wp697144"> </a><p class="pParagraph">在某个请求首次从 HTTP 客户机传入负载平衡器时,该请求为新会话请求。新会话请求称为<em class="cEmphasis">未指定的</em>请求。负载平衡器会根据循环(共享)算法将此请求路由到群集中的应用程序服务器实例。有关更多信息,请参见“<a href="loadb.html#wp697172" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697172">HTTP 负载平衡算法</a>”。</p><a name="wp697146"> </a><p class="pParagraph">在某个应用程序服务器实例中创建会话后,负载平衡器会将此会话的所有后续请求都路由到该特定实例而且只路由到该实例。现有会话的请求称为<em class="cEmphasis">指定的</em>或<em class="cEmphasis">粘性</em>请求。</p><a name="wp697172"> </a><h3 class="pHeading2">HTTP 负载平衡算法</h3><a name="wp697176"> </a><p class="pParagraph">Sun Java System Application Server 负载平衡器使用粘性 Round Robin 算法对收到的 HTTP 和 HTTPS 请求进行负载平衡。给定会话的所有请求都将被发送到同一个应用程序服务器实例。使用粘性负载平衡器,会话数据将被高速缓存在单个应用程序服务器上,而不会被分布到群集中的所有实例。 </p><a name="wp697178"> </a><p class="pParagraph">因此,粘性 Round Robin 方案能够带来明显的性能优势,这些优势超过了使用纯 Round Robin 带来的更加平均分布负载的优势。 </p><a name="wp697180"> </a><h4 class="pHeading3">关于粘性 Round Robin 负载平衡算法</h4><a name="wp697184"> </a><p class="pParagraph">当新的 HTTP 请求发送到负载平衡器插件时,系统将基于简单的循环(共享)方案将该请求转发到某个应用程序服务器实例;随后,将通过使用 Cookie 或显式 URL 重写将该请求“粘”到此特定应用程序服务器实例上。</p><a name="wp697186"> </a><p class="pParagraph">从粘性信息中,负载平衡器插件将首先确定请求先前被转发到的实例。如果发现该实例工作正常,负载平衡器插件会将请求转发至该特定应用程序服务器实例。因此,给定会话的所有请求都将被发送到同一个应用程序服务器实例。 </p><a name="wp697188"> </a><p class="pParagraph">负载平衡器插件使用以下方法来确定会话粘性:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp697194"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697204" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697204">基于 Cookie 的方法</a></li></div><a name="wp697200"> </a><div class="pSmartList1"><li><a href="loadb.html#wp697215" tppabs="http://docs.sun.com/source/819-1553/loadb.html#wp697215">显式 URL 重写方法</a></li></div></ul></div><a name="wp697204"> </a><h5 class="pHeading4">基于 Cookie 的方法</h5><a name="wp697208"> </a><p class="pParagraph">在基于 Cookie 的方法中,负载平衡器插件使用一个单独的 Cookie 来记录路由信息。 </p><a name="wp697211"> </a><p class="pAnchor"></p><div align="left"><table border="0" width="90%" summary="This table is used for Notes, Tips, and Cautions" id="wp696481"> <caption></caption><tr><td colspan="2"><hr noshade="-1" /></td></tr> <tr align="left" valign="top"> <td><a name="wp696481"> </a><p class="pNote">注</p></td> <td><a name="wp696483"> </a><p class="pParagraph">要使用基于 Cookie 的方法,HTTP 客户机必须支持 Cookie。</p></td></tr><tr><td colspan="2"><hr noshade="-1" /></td></tr></table></div><p class="pAnchor"></p><a name="wp697215"> </a><h5 class="pHeading4">显式 URL 重写方法</h5><a name="wp697217"> </a><p class="pParagraph">在显式 URL 重写方法中,粘性信息将被附加至 URL。即使 HTTP 客户机不支持 Cookie,也可以使用此方法。</p><a name="wp697247"> </a><h3 class="pHeading2">负载平衡和故障转移样例应用程序</h3><a name="wp697249"> </a><p class="pParagraph">以下目录包含了用于演示负载平衡和故障转移的样例应用程序:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -