分散システム設計の問題があります。問題集は、
私たちはサービスに多くのクライアントを持っています。サービスはフォールト トレラントである必要があるため、多くのレプリカが必要になります。クライアントがサービスにアクセスできなくなると、レプリカに切り替わり、他のすべてのクライアントが同じレプリカに切り替わることを通知します。(レプリカのデータ値は完全に同じではなく、すべてのクライアントが常に同じデータ値を返さなければならないため、レプリカ間で負荷を分散することはできません。)
私の現在の設計は、クライアントがサービスに到達できなかった場合に、新しいサービス リーダーを依頼することです。新しいサービス リーダーが確立されると、それを使用するようにすべてのクライアントに通知します。
多くの分散調整設計と同様に、分散グループ マネージャーが必要です。ソリューションで JGroups や Apache Zookeeper を使用することを検討しています。
この問題を解決するために調べるべき既存のレシピやレシピはありますか?