JMSおよびルースカップリングアーキテクチャを使用した「ニアリアルタイム」要求

私は、私のシステムで疎結合を可能にするために、JMSとActiveMQ(あるいは良いJMSブローカ)を使いたいと思います。

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

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

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

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

1

1 答え

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

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

「リアルタイム」が必要な場合は、まず非同期コンポーネントを導入するのはなぜですか?

乾杯、ユージン。

1
追加された
私は実際には「リアルタイム」を意味するのではなく、Webサービスで提供される必要のあるSLAを意味します。数ミリ秒で応答することが可能かどうか疑問です。この場合、それが実行可能な解決策になりうるかどうか疑問に思うだけです。非同期のアスペクトに関しては、ntは必須ですが、私は疎結合を探しています。私。私は依存モジュール上でRESTサービスを公開することができましたが、その場合、depencyは高くなります(IMOが高すぎます)。
追加された 著者 unludo,
私が選択しなければならないのであれば、WebサービスよりもActiveMQを好むだろう。ちょうど私はそれと一緒に遊んで、それを持っている労働者を生産に出しました。 Webサービスでは不可能な、クラスタリング、更新などのための、それを拡張する方法があります。私はあなたのために右を願っています:)
追加された 著者 Eugene,