ネットワークに安全な分散型レプリケーション ベースの分散システムを開発しようとしています。次の要件を持つ Java ライブラリを探しています。
ライブラリは、n 個のノードを分散型 (マスターまたはスレーブなし) で初期化できる必要があります。起動時にネットワーク障害から回復できる必要があります。例: 5 つのノードでネットワークを開始しようとしましたが、開始できるのは 3 つだけです。
初期化すると、ノードの損失を検出できるはずです。ユーザーに通知して、ユーザーがアプリケーションの前面でいくつかの修復手順を実行し、そこから回復できるようにします。新しいノードや失敗したノードがクラスターに再び参加することについては心配していません。でも、それもサポートしてくれればそれでいい。
P2P 通信を許可する必要があります。効率的な P2P とマルチキャストの両方をサポートできれば、それは非常に良いことです。
Aleph のようにノード間で Runnable メッセージとシリアライズ可能なオブジェクトを送信できるようにします。Alepha は良いものですが、ノードの障害/回復はサポートしていません。
基本的に、アクティブなノードのリストに基づいてノードの動的クォーラムを作成し、異なるクォーラムでオブジェクトを複製します。私のフレームワークは、ユーザーがこれらの定足数を話し、オブジェクトにアクセスできるようにします。ノードに障害が発生した場合、アクティブなノードの新しいリストでクォーラムを再構築する必要があります。クォーラム アルゴリズムに集中し、ネットワーク機能のエネルギーを節約したい。この目的に適したライブラリを提案してください。同様の定足数ソリューションをご存知の場合は、それも参照してください。