您可以為應用程式用戶端容器 (ACC) 中執行的應用程式設定 RMI-IIOP 負載平衡和容錯移轉。也支援加權的循環負載平衡。
此程序提供了有關將 RMI-IIOP 負載平衡和容錯移轉與應用程式用戶端容器 (ACC) 配合使用所需步驟的簡介。如需有關 ACC 的其他資訊,請參閱「Sun Java System Application Server 9.1 Developer’s Guide」中的「Developing Clients Using the ACC」。
請至 install_dir/bin 目錄。
執行 package-appclient。
此公用程式可產生 appclient.jar 檔案。如需有關 package-appclient 的更多資訊,請參閱 package-appclient(1M)。
將 appclient.jar 檔案複製到用戶端所在位置的機器,並將其解壓縮。
編輯 asenv.conf 或 asenv.bat 路徑變數,以參照該機器上的正確目錄值。
該檔案位於 appclient-install-dir/config/。
如需要更新的路徑變數清單,請參閱 package-appclient(1M)。
如果需要,使 appclient 程序檔成為可執行檔。
例如,在 UNIX 上使用 chmod 700。
尋找叢集中至少兩個實例的 IIOP 偵聽程式連接埠號。
您可以在步驟 7 中,將 IIOP 偵聽程式指定為端點。
為每個實例取得 IIOP 偵聽程式連接埠的方法如下:
在 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,..." |
如果需要加權的循環負載平衡,請執行下列步驟:
使用 --retrieve 選項部署用戶端應用程式,以取得用戶端 jar 檔案。
將用戶端 jar 檔案儲存在用戶端機器上。
例如︰
asadmin deploy --user admin --passwordfile pw.txt --retrieve /my_dir myapp |
執行應用程式用戶端,如下所示︰
appclient -client clientjar -name appname
此範例會依照下表設定一個叢集 (內含三個實例) 中的負載平衡權數。
實例名稱 |
負載平衡權數 |
---|---|
i1 |
100 |
i2 |
200 |
i3 |
300 |
以下是設定這些負載平衡權數的指令序列:
asadmin set i1.lb-weight=100 asadmin set i2.lb-weight=200 asadmin set i3.lb-weight=300 |
若要測試容錯移轉,請停止叢集中的某個實例,然後查看該應用程式是否正常工作。您也可在用戶端應用程式中包含中斷點 (或暫停)。
若要測試負載平衡,請使用多個用戶端,然後查看負載在所有端點中的分散方式。