2012-02-06 7 views
1

私はシステムで緩やかなカップリングを可能にするためにJMSとActiveMQ(あるいは良いJMSブローカー)を使いたいと思います。JMSとルーズカップリングアーキテクチャーを使用した「ニアリアルタイム」リクエスト

システムのコンポーネントが別のコンポーネントのサービスにアクセスする必要があり、レスポンスが「リアルタイム」(Webアプリケーションからの要求に答えるなど)である必要がある場合があります。

要求を行う方法は、JMSキューを使用することです。いくつかのコンシューマーを置くことができ、メッセージを選んでタスクを実行します。その後、要求されたコンポーネントに応答が返されます。それは良いです、それはいくつかのレベルで緩やかに結合され、負荷バランスがとれています。

私の質問はパフォーマンスです。このアーキテクチャによって達成されたパフォーマンスレベルにはいくつかの数字がありますか? 「Near Real Time」を達成することは可能ですか?つまり、JMSが想定するコストは5ms未満に抑える必要がありますか?

ありがとうございました!

答えて

1

これは本当に言うことが非常に多くの要因に依存します。私は自分のマシンで試したことがあります(必要であれば詳細を教えてくれます)、簡単なリクエストをして、何らかの処理と復帰を行います。私は今すぐ5ms以下を取得します。しかし、ActiveMQは私のマシン上にあるので一般的には何も言わない。接続はすべてローカルホストなどであるため、実際には高速でもある。

できるだけあなたの将来のアーキテクチャをシミュレートして試してみようそこ。ここの誰も確かにYESとかNOを言うつもりはない、まあ、不可能だから。

"REAL TIME"が必要な場合は、最初に非同期コンポーネントを導入する理由は何ですか?

乾杯、ユージン。

+0

私は本当に「リアルタイム」を意味するのではなく、Webサービスで提供される必要があるSLAを意味します。数ミリ秒で応答することが可能かどうか疑問です。この場合、それが実行可能な解決策になりうるかどうか疑問に思うだけです。非同期のアスペクトに関して、それは必須です、私は疎結合を探しています。私。私は依存モジュール上でRESTサービスを公開することができましたが、その場合、depencyは高くなります(IMOが高すぎます)。 – unludo

+0

私が選択しなければならないのは、WebサービスでActiveMQを好むだろう。ちょうど私はそれと一緒に遊んで、それを持っている労働者を生産に出しました。 Webサービスでは不可能な、クラスタリング、更新などのための、それを拡張する方法があります。私はあなたのために右を願っています:) – Eugene

関連する問題