Sun Java System Application Server 9.1 高可用性管理指南

設定 RMI-IIOP 負載平衡和容錯移轉

您可以為應用程式用戶端容器 (ACC) 中執行的應用程式設定 RMI-IIOP 負載平衡和容錯移轉。也支援加權的循環負載平衡。

Procedure為應用程式用戶端容器設定 RMI-IIOP 負載平衡

此程序提供了有關將 RMI-IIOP 負載平衡和容錯移轉與應用程式用戶端容器 (ACC) 配合使用所需步驟的簡介。如需有關 ACC 的其他資訊,請參閱「Sun Java System Application Server 9.1 Developer’s Guide」中的「Developing Clients Using the ACC」

  1. 請至 install_dir/bin 目錄。

  2. 執行 package-appclient

    此公用程式可產生 appclient.jar 檔案。如需有關 package-appclient 的更多資訊,請參閱 package-appclient(1M)

  3. appclient.jar 檔案複製到用戶端所在位置的機器,並將其解壓縮。

  4. 編輯 asenv.confasenv.bat 路徑變數,以參照該機器上的正確目錄值。

    該檔案位於 appclient-install-dir/config/

    如需要更新的路徑變數清單,請參閱 package-appclient(1M)

  5. 如果需要,使 appclient 程序檔成為可執行檔。

    例如,在 UNIX 上使用 chmod 700

  6. 尋找叢集中至少兩個實例的 IIOP 偵聽程式連接埠號。

    您可以在步驟 7 中,將 IIOP 偵聽程式指定為端點。

    為每個實例取得 IIOP 偵聽程式連接埠的方法如下:

    1. 在管理主控台的樹形元件中,展開 [叢集] 節點。

    2. 展開該叢集。

    3. 選取叢集中的實例。

    4. 在右窗格中,按一下 [特性] 標籤。

    5. 記下實例的 IIOP 偵聽程式連接埠。

  7. sun-acc.xml 檔案中至少新增兩個 target-server 元素。


    備註 –

    開發者設定檔中無法使用叢集功能。如需有關設定檔的資訊,請參閱「Sun Java System Application Server 9.1 管理指南」中的「用法設定檔」


    使用在步驟 6 中所取得的端點。

    如果部署應用程式用戶端的 Application Server 實例加入叢集,則此應用程式伺服器會自動在叢集中尋找目前所有使用中的 IIOP 端點。不過,用戶端至少應該為啟動程序指定兩個端點,以便在一個端點故障時使用另外一個端點。

    target-server 元素可指定負載平衡所使用的一或多個 IIOP 端點。address 屬性是 IPv4 位址或主機名稱,port 屬性則指定連接埠號。請參閱「Sun Java System Application Server 9.1 Application Deployment Guide」中的「client-container」

    您可以改用 endpoints 特性來替代 target-server 元素,如下所示:


    jvmarg value = "-Dcom.sun.appserv.iiop.endpoints=host1:port1,host2:port2,..."
    
  8. 如果需要加權的循環負載平衡,請執行下列步驟:

    1. 設定每一個伺服器實例的負載平衡權數。


      asadmin set instance-name.lb-weight=weight
      
    2. sun-acc.xml 中,將 ACC 的 com.sun.appserv.iiop.loadbalancingpolicy 特性設為 ic-based-weighted

      …
      <client-container send-password="true">
        <property name="com.sun.appserv.iiop.loadbalancingpolicy" value="ic-based-weighed"/>
      …
  9. 使用 --retrieve 選項部署用戶端應用程式,以取得用戶端 jar 檔案。

    將用戶端 jar 檔案儲存在用戶端機器上。

    例如︰


    asadmin deploy --user admin --passwordfile pw.txt --retrieve /my_dir myapp
    
  10. 執行應用程式用戶端,如下所示︰

    appclient -client clientjar -name appname


範例 11–1 設定 RMI-IIOP 加權循環負載平衡的負載平衡權數

此範例會依照下表設定一個叢集 (內含三個實例) 中的負載平衡權數。

實例名稱 

負載平衡權數 

i1

100 

i2

200 

i3

300 

以下是設定這些負載平衡權數的指令序列:


asadmin set i1.lb-weight=100
asadmin set i2.lb-weight=200
asadmin set i3.lb-weight=300

接下來的步驟

若要測試容錯移轉,請停止叢集中的某個實例,然後查看該應用程式是否正常工作。您也可在用戶端應用程式中包含中斷點 (或暫停)。

若要測試負載平衡,請使用多個用戶端,然後查看負載在所有端點中的分散方式。