請求等待清單

追蹤客戶請求,這些請求需要在滿足回應條件後,根據其他叢集節點的回應進行回應。

問題

在處理客戶請求時,叢集節點需要與其他叢集節點進行通訊以複製資料。在回應客戶之前,需要所有其他叢集節點的回應或多數法定人數

與其他叢集節點的通訊是異步進行的。異步通訊允許使用請求管線請求批次等模式。

因此,叢集節點會異步接收和處理來自多個其他叢集節點的回應。然後,它需要將它們關聯起來,以檢查是否達到特定客戶請求的多數法定人數

解決方案

叢集節點維護一個等待清單,其中對應一個金鑰和一個回呼函式。金鑰根據呼叫回呼函式的特定條件進行選擇。例如,如果需要在收到來自其他叢集節點的訊息時呼叫它,它可以是訊息的關聯 ID。在複製日誌的情況下,它是高水位標記。回呼函式處理回應並決定是否可以滿足客戶請求。

有關更多詳細資訊,請參閱 oreilly.com 上線上電子書的第 14 章

此模式是分散式系統模式的一部分

2023 年 11 月 23 日