私は、クラスタ(ローカルLAN)内の他のマシンの状態に関する知識を必要とするツールを書くことを試みています。これは、VRRPとcorosync/openaisに似たネットワークフェイルオーバー/高可用性システム用ですが、デバイスがよりインテリジェントな選択を行うために、より多くの情報(例えばリアルタイムに近い速度/性能特性など)を含めることを望みます。これは、所定の重みベースのメカニズムよりも複雑なプロトコルを使用することを意味する。クラスタ化されたすべてのマシンが互いの状態を見ることを可能にすることによって、どちらがマスターデバイスに最も適しているかを共同で合意することができる。多くのマシンに状態を分散する
私の検索では、分散状態メカニズムを提供するライブラリ(C、C++またはJavaME)は見つかりませんでした。理想的には、各マシンの状態を定期的にブロードキャスト/マルチキャストして、参加しているマシンがグローバル状態テーブルを構築し、誰がマスターになるかをすべて知ることができるものを探しています。この場合の状態は、任意のキーと値のペアです。
私は車輪を再発明したくないので、ここの誰かが私を正しい方向に向けることができるかどうか分からないのですか?
Boost MPIをチェックしましたか?私はそれが分散コンピューティングのためだと思う。しかし、それがあなたを助けるかどうかは分かりません。 – Arunmu
BrewerのCAP(Consistency、Availability and Partition)定理の古典的なケースのように見えます。それを読んで、実際の問題をより深く理解することができます。 – MSalters
@MSalters - あなたは何を意味するのでしょうか?障害が発生するため、各ノードが他のすべての参加者の状態を100%知っていることを保証することは不可能であると私は理解しています。私が狙っているのは、良い、汎用的な目的のフレームワークで、状態を蓄積して共有することです。 OSPFやその他のルーティングプロトコルのようなものを見ると、このテクニックはspecalised領域でよく使われています。 – Mike