Sun Java System Message Queue 3.7 UR1 技術摘要

叢集同步化

叢集的配置只要有所變更,有關變更的資訊都會自動傳播到叢集中的所有代理程式。發生下列情況之一時,叢集配置會有所變更:

這類變更資訊將立即傳播至發生變更時叢集內所有線上的代理程式。然而離線的代理程式 (例如當機的代理程式) 不會在發生變更時收到通知。考量到離線的代理程式,Message Queue 會為叢集維護配置變更記錄,其中記錄所有已建立或銷毀的永久性實體 (目標與長期訂閱)。離線的代理程式回復到線上狀態時 (或者在新的代理程式加入叢集中時),該代理程式會參考此記錄,以取得關於目標與長期訂閱者的資訊,然後與其他代理程式交換目前使用中的訊息用戶相關資訊。

叢集中的一個代理程式會指定為主代理程式,負責維護配置變更記錄。因為其他代理程式無法在沒有主代理程式的情況下完成初始化,所以主代理程式務必是叢集中首先啟動的代理程式。如果主代理程式離線,則配置資訊將無法在叢集中傳播,因為其他代理程式無法存取配置變更記錄。在這些情況下,如果您嘗試建立、重新配置或銷毀目標或長期訂閱,或嘗試執行如重新啟動長期訂閱等相關作業,則會出現異常。(但是非管理訊息的傳送仍會繼續正常作業。) 使用主代理程式和配置變更記錄是選擇性的。如果您擔心叢集配置變更或代理程式失敗之後叢集無法同步,才會需要主代理程式和配置變更記錄。