Sun Java System Message Queue 3.7 UR1 管理指南

連線代理程式

有兩種通用方法可將代理程式連線至叢集:從指令行使用 -cluster 選項進行連線,或在 叢集配置檔案中設定 imq.cluster.brokerlist 特性。無論使用哪種方法,您啟動的每個代理程式每 5 秒鐘會嘗試連線至其他代理程式;在此叢集中的主代理程式 (如果已配置) 啟動後,連線即可成功。如果叢集中有代理程式比主代理程式先啟動,則此代理程式將保持暫停狀態,從而拒絕用戶端連線,直到主代理程式啟動時;然後暫停的代理程式的全部功能將自動可用。

若要從指令行配置代理程式叢集,請在啟動每個代理程式時,使用 imqbrokerd 指令的 -cluster 選項,指定叢集的完整代理程式清單。例如,以下指令啟動新的代理程式,並將其連線至在 host1 的預設連接埠 (7676) 上執行的代理程式、在 host2 的連接埠 5000 上執行的代理程式,以及在預設主機 (localhost) 的連接埠 9876 上執行的代理程式:

imqbrokerd -cluster host1,host2:5000,:9876

另一種更適合用於生產系統的替代方法,就是建立一個使用 imq.cluster.brokerlist 特性的叢集配置檔案,以指定要連線之代理程式的清單。叢集中的每個代理程式均必須將自己的 imq.cluster.url 特性設定為指向此叢集配置檔案。

無論您使用哪種方法,都必須確定叢集中沒有代理程式位址解譯為網路迴路 IP 位址 (127.0.0.1)。任何配置為這個位址的代理程式將無法連線至叢集中的其他代理程式。


備註 –

一些 Linux 安裝程式會自動將 localhost 項目設定為網路迴路位址。在這類系統上,您必須修改系統 IP 位址,這樣才能為叢集中的所有代理程式設定正確的位址。

在設定叢集時,請在參與叢集的所有 Linux 系統中檢查 /etc/hosts 檔案。如果系統使用的是靜態 IP 位址,請編輯 /etc/hosts 檔案,為 localhost 指定正確的位址。如果位址已註冊網域命名服務 (DNS),請編輯 /etc/nsswitch.conf 檔案以變更項目的順序,讓系統可以在參考本機 hosts 檔案之前執行 DNS 查找。/etc/nsswitch.conf 中的行應如下所示:

hosts:dns files

如果您想要在叢集中的代理程式之間以安全加密的方式進行訊息傳送,請配置 cluster 連線服務以使用 SSL 型傳輸協定。針對叢集中的每個代理程式,設定 SSL 型連線服務,如訊息加密中所述。然後再使用叢集配置檔案,或透過為每個代理程式個別設定的方式,將 imq.cluster.transport 特性設定為 ssl