4

アプリケーションサーバー用にさまざまなJavaオブジェクト配布ライブラリ(Terracotta、JCS、JBoss、Hazelcast ...)を評価していますが、さまざまな軸での動作を理解するのに問題があります。

分散オブジェクトに対する私の要件は多くありません。つまり、1対1および1対多のメッセージングに要約されます。他にもありますが、残りの部分ではJDBCを使用するだけで、使用可能なライブラリのいずれかを使用して、この前にキャッシュを配置できると思います。

オブジェクトを分散し、ローカリティプロパティを表示するシステムが必要です。つまり、オブジェクトを取得するサーバーは、他のノードとの過剰な通信なしにオブジェクトを保持する傾向があります。Hazelcastはシンプルに見えますが(そしてピアツーピアは素晴らしいです)、オブジェクトがすべてのノードに均等に分散されている必要があるようです。

オブジェクトを、できれば透過的に永続化する方法が必要です。EC2を使用する予定なので、一時的で無料の制限付きローカルストレージ(ディスク)と永続的で非無料の無制限ストレージ(S3)のオプションがあります。OutOfMemoryErrorsについて心配しないのは素晴らしいことです。

私はテラコッタのシンプルさと「魔法」が好きですが、それは私からbeejeezusを怖がらせます。また、真に拡張するには、$$$$を費やす必要があります。そうしないと、単一のハブと通信します。

私は安くて、無料であるだけでなく、成熟した、大規模なユーザーベースの何かが欲しいです。

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

4

4 に答える 4

2

テラコッタはあなたの状況にぴったりのようです。

  • セットアップは簡単です
  • 永続的に構成できます (EC2 には EBS ボリュームを使用します)。
  • Ehcache (実際には Terracotta が Ehcache を購入した) と密接に統合されているため、優れた分散キャッシング パフォーマンスが得られます。
  • 無料のサービスは、複数のクライアントでかなりうまくスケーリングされます.

それをいじり始めてください。きっと気に入っていただけるはずです。パフォーマンスに対する不安を解消するには、メッセージ パッシングのスルー プット テストを実行するだけです。これには、午後 1 時間以上かかることはありません。

私は Terracotta を 1 年間使用していないことと、あなたが提案した他のツールを知らないことを認めなければなりません。

于 2010-02-19T17:53:35.350 に答える
1

テラコッタは法案に適合します。私はあなたの反対意見を理解していますが、ここに私のコメントがあります:

1)テラコッタは局所性を示します-そしてあなたが言及したものと比較しておそらくそれで最高のシステムです。オブジェクトは、要求された場合にのみローカルJVMに取り込まれます。読み取りまたは書き込みのロックは、リースメカニズムを使用して実行されます。これは、システムに完全な局所性を示す場合、ネットワークのオーバーヘッドはほとんど発生しないことを意味します。

2)Terracottaは、箱から出してすぐにディスクの永続性を提供します-OSSバージョンでは($$$$を支払う必要はありません)

3)なぜそんなに怖いのですか?EHCacheをキャッシュ、またはHibernate2ndLevelプラグインとして使用するだけです。セットアップと使用は非常に簡単です。

4)はい、Terracotta FXでは料金を支払う必要があります(スケールアウトサーバーの場合)。ただし、ほとんどが読み取られ、真の局所性を示すシステムがある場合は、探しているスケールを取得するのに問題はないと思います。Terracotta 3.2では、Hibernate 2ndLevelCacheのパフォーマンスは100/0の読み取り/書き込み比率で8つのアプリケーションサーバーと1つのTerracottaサーバーを使用して100,000ops/ sであり、95/5の読み取り/書き込み比率で同じ構成を使用すると12,000 ops/sです。

(ベイエリアのSDForumでこれらの番号について話し合ったので、たまたま手元に置いておきました)

于 2010-02-23T08:56:13.663 に答える
1

はい、Hazelcast はクラスター全体にオブジェクトを分散します。ただし、通信コストを削減したい場合は、ニア キャッシュを有効にすることができます。 http://www.hazelcast.com/documentation.jsp#MapNearCache

于 2010-04-19T14:15:55.417 に答える
0

ところで、探しているものは明確ではありません (メッセージングは​​、クラスタリング/分散オブジェクトと同じではありません)。

Java でのメッセージングを探している場合は、RabbitMQ を参照することをお勧めします (Erlang ベースですが、それは問題ではありません)。

于 2010-02-23T08:59:00.850 に答える