1

Erlang クラスタ パーティションを処理するための解決策を探しています。基本的に、クラスター参加者が再び到達可能になったときはいつでも、クラスターに戻す必要があります。最も簡単な解決策は、おそらくerlang node monitoringを使用することです。

他の/より良い解決策はありますか?固定ノードリストを必要としないより動的な可能性がありますか?

4

2 に答える 2

1

既製のソリューションではありませんが、すでに ejabberd のカスタム mod を実行している場合は、クラスタ パーティション後の mnesia 競合を解決するこのコードを統合してみてください。

https://github.com/uwiger/unsplit

于 2013-10-18T21:25:05.043 に答える
1

固定ノード リストを使用して構成する必要のないサードパーティ ライブラリがいくつかあります。私がよく知っているのはredgriderlang-redis_sd_epmdの 2 つです。おそらく他にもありますが、私はそれらに精通していません。

これらはどちらもredisへの外部依存関係を持っています。これは、何が必要であるかに応じて、望ましい場合とそうでない場合があります。

redgridはより単純な実装ですが、多くの機能はありません。基本的に、erlang ノードは redis に接続し、redis に接続されているすべての erlang ノードは相互に接続を確立します。メタデータをノードに関連付けて、別のノードで取得できます。

erlang-redis_sd_epmdはもう少し複雑ですが、より多くの設定が可能です。たとえば、すべてのノードを自動的に接続するだけでなく、ノードが実行できるサービスを公開し、接続ノードが提供されたサービスに基づいてノードを検索できます。

于 2013-10-17T18:46:07.107 に答える