Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

如何保證事件的發送

叢集中事件產生的總排序按傳送至每一個用戶端的順序保存。換言之,如果事件 A 先於事件 B 在叢集中產生,則用戶端 X 在接收到事件 B 之前接收到事件 A。然而,傳送至所有用戶端的事件總順序不會被保存。即,在用戶端 X 接收到事件 A 之前用戶端 Y 可以接收事件 A 與事件 B。以此方式,那些速度慢的用戶端不會阻礙向所有用戶端發送事件。

除了當伺服器遇到導致遺失叢集產生的事件之錯誤以外,該伺服器發送的所有事件 (除了子類別的第 一個事件與包含伺服器錯誤的事件) 均是回應叢集產生的實際事件。在此情況下,伺服器為每個事件類型產生一個事件,表示該事件類型的系統之目前狀態。每個事件發送給表明對該事件類型感興趣的已註冊用戶端。

事件發送遵循「至少一次」的語義進行。即,伺服器可以多次將相同事件傳送給用戶端。在伺服器暫時出現故障,且重新置於線上時無法確定用戶端是否接收到最新資訊時,此許可性是必需的。