ユーザーがリストに含まれていない限り、ユーザーに操作を拒否する必要のある複数のフロントエンドノードを含む分散アプリケーションを作成しています。Zookeeperを使用してユーザーのアクセス許可を保存することは意味があります
ここでは、4つ以上のノードがありますが、メンテナンスのためにダウンしていることが多いDB2を実行するデータベースサーバーは1つのみです。
現在、メモリリストを更新するためにデータベースをポーリングしているため、ユーザーがリストから削除された場合、その変更は4つのノードすべてに反映されます。しかし、データベースがダウンしている間にノードの1つがリブートされた場合、私たちは望んでいないすべてのユーザーの要求を拒否する空のリストになります。データベースがメッセージキューにバッファリングされているにもかかわらず、データベースがダウンしているにもかかわらず、ユーザーからの要求は受け入れられますが、却下する必要がある場合は、即座に拒否します。
それぞれの4ノードでZookeeperインスタンスを実行し、Zookeeperでユーザー権限を格納することは理にかなっています。したがって、読書は速くなければならず、データは非常に利用可能であり、合理的でなければならない。もはやポーリングを行う必要はなく、たとえデータベースを再起動しても、ノードは動物園から設定を取得することができます!