叢集


如何在叢集中進行抄寫
叢集抄寫屬於事件導向,而非排程導向。當「叢集同步中心」發現資料庫有變更時,它會立即將該變更抄寫到叢集中的其他抄本。如果有抄寫事件備份記錄,「叢集同步中心」會將事件儲存在記憶體中,直到將事件抄寫到其他的叢集伺服器為止。如果在傳送前一個變更之前,相同的資料庫又發生變更的話,「叢集同步中心」會儲存這些變更,然後再一起傳送,以節省處理的時間。

由於 Domino 只能將抄寫事件儲存在記憶體中,所以必須來源與目的地伺服器都可以使用,才能順利完成抄寫。若目的地伺服器無法使用,「叢集同步中心」會持續將事件儲存在記憶體中,直到目的地伺服器能使用為止。「叢集同步中心」會定期嘗試將這些抄寫事件推送到目的地伺服器。兩次嘗試之間的間隔由一小時開始,之後隨著時間增加,至最長一天為止。

如果來源伺服器在抄寫完成之前就當機,記憶體中的抄寫事件便會遺失。因此,只要您一重新啟動叢集伺服器,就應該使用標準抄寫(REPLICA 作業)對所有叢集成員執行立即抄寫。定期在叢集伺服器之間做排程抄寫(例如每日數次)也是一個好主意,可以確保資料庫同步化。

當「叢集同步中心」將抄寫事件記錄在日誌檔時,也會記錄等待重試中的抄寫事件。因此您可知道哪些資料庫目前尚未同步化,並瞭解哪些錯誤阻礙了抄寫。在更正錯誤和抄寫成功之後,系統就不再記錄錯誤資訊。

「叢集同步中心」會將抄寫公式的處理程序留給標準同步中心。因為這些公式會使用大量的處理器資源,所以為了降低使用叢集抄寫的成本,這些公式並不由「叢集同步中心」來處理。因此,若使用選擇性的抄寫,資料庫可能暫時納入與選擇公式不符的文件。Domino 會在您執行標準抄寫時刪除這類文件。

除此之外,「叢集同步中心」不會遵照「抄寫設定」對話方塊「進階」窗格中的設定。因此,您無法取消資料庫特定元件的抄寫,如 ACL、代理程式以及設計元件。「叢集同步中心」永遠都會讓所有抄本維持一致,所以移轉的使用者永遠不會注意到自己是否已經移轉。

注意 標準抄寫無法自動刪除特定資料庫元件的變更,如 ACL、代理程式或是設計元件。如果對資料庫而言,限制這些項目的抄寫非常重要,請考慮對該資料庫使用標準抄寫,而非叢集抄寫。

叢集的抄寫歷程

因為叢集中的抄寫事件實在發生得太頻繁了,所以「叢集同步中心」在抄寫資料庫時,不會每次都讀取或寫入該資料庫的抄寫歷程。抄寫成功時,歷程資訊會儲存在記憶體。隨後的每次成功抄寫事件都會新增至記憶體中保存的歷程資訊。「叢集同步中心」大約每隔一小時就會將歷程資訊傳送到資料庫。

叢集的專用資料夾抄寫

在標準抄寫期間,專用資料夾及其內容只會與資料夾擁有者的用戶端進行抄寫。但是在叢集中,專用資料夾卻會抄寫到叢集內的其他抄本。這樣的行為可確保用戶端在移轉時,不管是存取哪個抄本,資料庫內容都是一樣的。叢集抄寫與標準抄寫都支援叢集內部專用資料夾及其內容的抄寫。

專用資料夾僅供資料夾的建立者或叢集內的伺服器存取。只有在資料庫的使用權控制清單(ACL)中被定義為「伺服器」或「伺服器群組」使用者類型的伺服器,才可以存取和抄寫資料庫內的專用資料夾。沒有明確列在 ACL 中的伺服器是不能抄寫專用資料夾的。

另請參閱