2

Activemq、Redis、および Apache camel は適切な組み合わせですか?

複数のアプリケーションにわたる高パフォーマンスのエンタープライズ レベルの統合ソリューションを計画しています

私の目的は、ソリューションを作成することです。消費者のパフォーマンスとは無関係 b.問題が発生した場合のトラブルシューティングが可能 c. フェイルオーバーサポートによる高可用性 d. 1 秒あたり 10k メッセージを処理

こちらで予定しております。a. すべてのアプリ サーバーで実行され、消費されたメッセージを redis データ ストアに保存する activemq ブローカーのネットワーク b. redis データ ストアから、アプリケーションは camel エンド ポイントを介してメッセージを取得できます (camel エンド ポイントは、アプリに到達する前にメッセージを処理するために選択されます)。

Redis + Apache camel だけで ActiveMQ を削除することもできます。ディスカッション フォームからわかるように、Redis は ActiveMQ のほとんどを実行します。

このテクノロジースタックについてアドバイスをいただけますか。

4

1 に答える 1

0

ActiveMQ と Camel は一緒にうまく機能し、非常にうまくスケーリングします。適切なハードウェアがあれば、負荷を処理するのに問題はないはずです。

こんなことを考えていませんか?

Message producer App -> ActiveMQ -> Camel -> Redis

Message Consumer App <- Camel [some endpoint] <- Redis

間に ActiveMQ を配置することは、通常、HA、負荷分散、およびソリューションの弾力性を実現するための非常に優れた方法です。マシンなどの特定のセットアップに応じて、ActiveMQ は多くの方法で HA の問題を解決するのに役立ちます。

アプリケーションが JMS/ActiveMQ メッセージング以外のプロトコル (HTTP、raw tcp など) を使用している場合は、ActiveMQ を削除することをお勧めします。アプリが Camel と通信する方法について詳しく教えてください。ActiveMQ は、デフォルトでトランザクションをサポートし、配信を保証し、トラフィックが多い場合でも、サーバー上の限られた数のスレッドを使用できます。他のプロトコルの場合、これを達成するのは少し難しいかもしれません。ActiveMQ に HA レイヤー (クラスター) がなければ、すべての面で HA を処理するように Redis をセットアップする必要があります。これは簡単かもしれませんが、Redis は少しメモリを消費するので注意してください。

于 2012-07-30T22:40:42.303 に答える