1

2 TB を超えるデータをキャッシュに保存するアプリケーションがあり、NodeJS API を使用してデータにアクセスします。NodeJS アプリの場合、Hazelcast または Redis(または RedisLabs) のどちらがより適切な選択でしょうか? 次の基準を考慮していますか?

  • 接続プーリングを含む NodeJS API サポート。HazelCast には NodeJS API がないようです

ベンチマークでは、Hazelcast はマルチスレッド実装により高速であり、スケーラブルであることも理解しています。しかし、NodeJS (データ構造の設定が必要) を使用してこれらの優れた機能を効果的に活用できますか? 最後に、RedisLabs で複数のシャードを持つことができます。これは、複数のスレッドまたはプロセスがそれぞれのデータのチャンクで動作するようなものです。その場合、マルチスレッドの性質による Hazelcast の優位性は Redis には当てはまりますが、RedisLabs には当てはまりません。これについて何かコメントはありますか?

4

2 に答える 2

5

Hazelcast Node.js クライアントは実際に存在し、現在次の機能を提供しています

  • Open Client Binary Protocolの実装、Redis はテキストベースのプロトコルを使用
  • 地図
    • 得る
    • 置く
    • 削除する
  • Smart Client - クライアントは各クラスタ ノードに接続します。各データ パーティションはよく知られている一貫したハッシュ アルゴリズムを使用するため、各クライアントは関連するクラスタ ノードに操作を送信でき、全体的なスループットと効率が向上します。クラスターからノードを追加または削除する場合、クライアントを再起動する必要はありません。
  • 分散オブジェクト リスナー
  • ライフサイクル サービス

Hazelcast と Redis のサーバー側機能の比較に関しては、ここに包括的なドキュメントがあります。

ありがとうございました

于 2016-04-18T12:59:09.307 に答える
3

非常に複雑なデータ処理/処理を使用している場合は、HazelCast を使用することをお勧めします。本質的に nodejs はシングル スレッドであるため、キー値を格納するためだけに使用している場合は使用しないでください。

(NodeJS + hazelcast)に使用できる公式 API がありますが、機能が非常に制限されており、KeyVal のみを使用します

Key-Value ストアとしてキャッシュを使用するだけの場合、Redis は優れた、高速な、無料です !

サポート価格に関しては、RedisLabs の方が低コストであり、Redissonと Redis を使用すると、Hazelcast が使用するすべてのデータ構造を提供できます:)

BitSet、Set、Multimap、SortedSet、Map、List、Queue、BlockingQueue、Deque、BlockingDeque、Semaphore、Lock、AtomicLong、CountDownLatch、Publish / Subscribe、Bloom フィルター、Remote サービス、Spring キャッシュ、Executor サービス、Live Object サービス、Scheduler サービス

RedisLabs はより多くのユーザーベース + 貢献者を持っています。HazelCast は、ユーザーを比較すると少し少なくなります。そのため、データが 2 TB の場合、キー値のみの場合.. Redis が最適です

于 2016-04-18T09:43:17.103 に答える