State Watch
サーバーで特定の値が変更されたときにクライアントに通知する
問題
クライアントは、サーバー上の特定の値の変更に興味があります。クライアントが変更を探すためにサーバーを継続的にポーリングする必要がある場合、その論理を構造化することは困難です。変更を監視するためにクライアントがサーバーに接続を多すぎる開くと、サーバーは圧倒される可能性があります。
解決策
クライアントは、特定の状態変更に対してサーバーに自分の関心を登録できます。状態が変更されると、サーバーは興味のあるクライアントに通知します。クライアントは、シングルソケットチャンネルをサーバーと維持します。サーバーは、このチャンネルに状態変更通知を送信します。クライアントは複数の値に興味を持つ可能性がありますが、ウォッチごとに接続を維持しているとサーバーが圧倒される可能性があります。そのため、クライアントはリクエストパイプラインを使用できます。
詳しくは、oreilly.com のオンライン電子書籍の第 27 章をご覧ください。
このパターンは『分散システムパターン』の一部です。
2023 年 11 月 23 日