State Watch

當伺服器上的特定值變更時,通知客戶端

問題

客戶端有興趣得知伺服器上特定值的變更。如果客戶端需要持續輪詢伺服器以尋找變更,則難以建構其邏輯。如果客戶端開啟太多連線到伺服器以觀察變更,可能會使伺服器不堪負荷。

解決方案

允許客戶端向伺服器註冊其對特定狀態變更的興趣。當狀態變更發生時,伺服器會通知有興趣的客戶端。客戶端會與伺服器維持一個單一 Socket 通道。伺服器會在此通道上傳送狀態變更通知。客戶端可能對多個值感興趣,但每個觀察維持一個連線可能會使伺服器不堪負荷。因此,客戶端可以使用請求管線

如需更多詳細資訊,請參閱 oreilly.com 上線上電子書的第 27 章

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

2023 年 11 月 23 日