分散システムの学習の一環として、チャットアプリケーションを構築しています。現在、私の設計は、各サーバーに、接続されているクライアント(コンセンサスアルゴリズムを使用してレプリケートされる状態)を知ることです。ロードバランサを介してバックエンドサーバのip:portをクライアントに返すことをお勧めします。
クライアントが最初に接続するロードバランサがあり、ロードバランサはクライアントが次に話すべきサーバーで応答します。クライアントからの後続のコマンドは、それが割り当てられたインスタンスに直接移動します。状態を管理するために、Raft algorithm
をコンセンサスに使用することを考えています。