リーダーとフォロワー
複数のサーバー間のレプリケーションを調整する単一サーバーを持つ。
問題
データを管理するシステムでフォールトトレランスを実現するには、データを複数のサーバーにレプリケートする必要があります。
また、クライアントに一貫性についてある程度の保証を与えることも重要です。データが複数のサーバーで更新された場合は、それをクライアントに表示するタイミングを決定する必要があります。 多数決数 の読み書きでは十分ではありません。一部の障害シナリオでは、クライアントにデータが不整合に表示される可能性があるためです。各個別サーバーは過半数内の他のサーバー上のデータの状態を知りません。データが複数のサーバーから読み取られる場合にのみ、不整合を解決できます。場合によっては、これでは不十分です。クライアントに送信されるデータについては、より強力な保証が必要です。
解決策
クラスタ内の 1 つのサーバーをリーダーとして選択します。リーダーは、クラスタ全体に代わって決定を下し、決定を他のすべてのサーバーに伝播する責任があります。
詳細は oreilly.com のオンライン電子書籍の第 06 章を参照してください。
このパターンは 分散システムのパターンの一部です。
2023 年 11 月 23 日