1

私はErlangと分散コンピューティングの初心者です。私たちは小さなメッセージング サーバーを構築しようとしている小さなチームです。クラスターの状態をどのように管理するかについて、私たちが検討していることの 1 つ - Riak、rabbitMq、ejabbered、Vernemq など、Erlang オープン ソース プロジェクトでいくつかのカスタム実装に出くわしました。

Erlang コミュニティはクラスター管理にゴシップ プロトコルを使用するように移行しているようです jvQQy30kLTI/hIDFw94SddQJ

私の質問は - ゴシップ プロトコル以外にクラスタ管理を行う方法はありますか? また、ゴシップ プロトコルのオープン ソース erlang 実装とは何ですか。erlang ノードの管理を検討する際に必要な考慮事項は何ですか?

ご協力いただきありがとうございます。

4

1 に答える 1

0

私も分散コンピューティングの専門家ではないので、私の答えは疑わしいかもしれませんが、とにかく。すべては、クラスターの状態と、どのような要件があるかによって異なります。

各クラスター参加者間で状態の一貫性を保証する必要がある場合は、zk、paxos、raft など、ある種の分散コンセンサス メカニズムが必要になります。

高可用性が必要な場合は、ゴシップベースのプロトコルが必要であり、データの不整合の可能性をアプリに認識させる必要があります (Riak が CRDT データ型とベクトル クロックで行っているように)。

何が必要かわからない場合は、開発者の観点から非常に簡単なので、最初のオプションを使用します。そして、最初のオプションがもはやオプションではないことを明確に理解した場合、2番目のオプションに進みます;)

于 2015-08-26T17:37:59.937 に答える