n個のプロセスがn個あるとします。n> 2個のプロセスがあるとします。だから、彼らはどちらがアクティブであるかを判断するために互いを見て投票する必要があります。スプリットブレイン、投票、クォーラムの回避
すべてのプロセスは任意の時点で失敗する可能性があり、我々は可能な場合はアクティブなプロセスを持っているしたいのですが、...
、彼らがすることはできませんので、もし我々がはが、同時にアクティブに2を持っていてはいけません誰もアクティブにしない方がよいと確信してください。 (すなわち、私たちは頭脳の分割を避けたい)
これらの間で利用できる通信メカニズムは、pub-subメッセージング(ポイントツーポイントではない)だけです。
1つ以上のデータベースが使用できますが、1つのデータベースで単一障害点が発生することはありません。つまりすべてのプロセスが動作可能であり、単一のデータベースが失われてもそのようなことができなければ、非常に望ましくないことになります。
デザインは?どのメッセージを公開する必要がありますか?
この詳細な説明と参考文献をありがとう。よりシンプルな解決策を可能にするために制約を緩和することは、私たちが探索しなければならない道だということに同意します。 [私は今、スパイク・ミリガンの碑文をエコーすることができます。私はチームに戻ってきます。 – djna
明確にするため、Zookeeperは抽象的なPaxosと一致するZookeeperのZookeeper Atomic Broadcastを実装しますが、メッセージは多くのシナリオで非常に重要な主要な順序を保持するようにClassic Paxosとは異なります。 – gertas