大規模分散セルオートマトンを使用したシミュレーションの開発に取り組んでいます。セル シミュレーションはノード全体に分散され、ZooKeeper を使用して調整されます。永続データは Riak に保存されます。セルオートマトン自体は Python で書かれています。
セルが少量 (たとえば、毎秒数から数十の間) のメッセージ (おそらくキーと値のペア) をすぐ隣のセル (マンハッタンの近隣) に渡すことができれば、私のシミュレーションにとって非常に便利です。ただし、数百万のセルのシミュレーションの場合、単純なアプローチでは、各セルに 1 つずつ、数百万の小さなメールボックスがあり、各ボックスにゆっくりとメッセージが細流します。これにより、ZooKeeper や RabbitMQ は屈服します。私は DDSを勧められましたが、それは非常にエンタープライズ向けのようで、見つけることができる Python バインディングはありません。
私は分散システム開発の初心者です。これは、私がどこまで到達できるかを確認するための単なる趣味のプロジェクトです。私はこれを間違った方法で行っていると感じずにはいられません。小さなセルのメールボックスごとにモノリシックなメッセージ バスを使用しています。セルが隣接するセルとその世界における位置を判断するのは簡単なので、メッセージの受け渡しは何らかのチャンクの影響を受けやすいように思われます。しかし、この地域アクターの設計と、それが個々の細胞とどのように通信するかについては、私にはわかりません。セルがメッセージ バスを介してチャンクにメッセージを渡す方法はわかりましたが、チャンクはどのようにメッセージをセルに戻すのでしょうか?
この問題の真の解決策に近いところまで進んでいますか? 分散ノードが少量のメッセージを近隣ノードに渡す適切な方法は何ですか?