?? 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 + -