16

多数のノードを持つ JVM で分散アプリケーションを作成したいと考えており、次のことを可能にするライブラリが必要です。

  • クラスター/グリッド メンバーシップを管理します。つまり、脱退/参加時に通知を受け取りたい
  • クラスタ メンバー間のメッセージを管理する

私は2つの解決策を見つけました:

  • JGroups - 機能しますが、日付のように見え、広く使用されていません
  • Akka - Scala ベースであり、そのクラスター モジュールは成熟していないように見えます

同じことができる他のライブラリはありますか?

4

4 に答える 4

7

同じことができる他のライブラリはありますか?

Apache Zookeeper . 自分で使ったことはありませんが、聞いたことはあります。

個人的には、JGroups を数年間使用しました。最初は不安定でした - 約 10 ノードの TCP ベースのクラスターが週に数回 (サブクラスターに分離されて) 壊れていましたが、後に Bela Ban がライブラリーを改善し、うまく機能しました。

「JGroups vs Akka」への私の 5 セント:

  • Akka Cluster の設定はよりシンプルで、JGroups の設定ほど「深く」はありません
  • Akka Cluster は通信にノンブロッキング I/O を使用し (現在 Netty の上にあります)、JGroups は常にブロッキング TCP ソケットを使用します (これは大規模なクラスターでは重要かもしれませんが、JGroups には UDP もあります... しかし、UDP は常に適用できるわけではありません...)
  • Akka Cluster は、クラスター対応ルーターや分散型 PubSub などのより高レベルのものを提供し、Actors とうまく統合されます (もちろん、Akka & Actors が好きな場合)。
  • Akka Cluster はほとんどのユースケースをカバーしていますが、すべてではありません
于 2013-09-30T09:02:46.827 に答える
5

GitHub の星の数で考えれば、他のプロジェクト (Cassandra、Riak、Hadoop など) も JGroups に勝つでしょう... :-) JGroups と Aka でプロトタイプを作成し、機能するソリューションを選択します。あなたに最適です(パフォーマンス、機能、シンプルさなど)。乾杯、

于 2013-09-26T14:38:50.537 に答える