1

私は、非同期方式で複数のサービスプロバイダーにリクエストを送信し、応答を照合して結果をユーザーに表示するアプリケーションに取り組んでいます。

各サービスプロバイダーを処理するためのコンポーネントを作成するつもりです。コンポーネントは緩く結合されているため、サービスプロバイダーの追加または削除は非常に簡単です。

ここに画像の説明を入力してください

コンポーネントは

  1. Webレイヤーから受信したリクエストを処理し、Servieプロバイダーが必要とする形式に変換するように処理します。
  2. サービスプロバイダーにリクエストを送信します
  3. サービスプロバイダーから受け取った応答を処理して、アプリケーションに必要な形式に変換します。

ここでApacheServiceMixを使用できますか?5秒未満で要求/応答サイクルを処理するのに十分な速度ですか(サービスプロバイダーが1秒未満で応答を送信すると仮定)。

また

他のESBを使用できますか?ESBは要件を満たすのに十分な速度ですか?

前もって感謝します。

シャードゥル。

4

4 に答える 4

6

Servicemixはこれを処理できるはずです。主な質問は、servicemixが必要かどうかです。

コンポーネントをOSGiで実行したい場合は、servicemixまたはkaraf + camel(servicemix lightのようなもの)を使用できます。

Webフロントエンドとコンポーネントの間で通信するには、jmsを使用し、コンポーネントを実装するには、camel+pojosを使用することをお勧めします。

これについてさらにサポートが必要な場合は、お気軽にもう一度ご連絡ください。すでにIRCで私を見つけたようです:-)ユーザー名:cschneideまたはcschneider

于 2011-09-06T13:10:48.793 に答える
3

速度に関して:統合プロジェクトでは、メッセージング/処理インフラストラクチャ自体がボトルネックになることはめったにありませんが、代わりに外部サービスとの接点になります。

したがって、SM独自のメッセージ処理コードではなく、ほとんどの時間がサービスプロバイダーとの対話(つまり、ネットワークの応答の待機)に費やされるため、シナリオに対する唯一の答えは「ServiceMixは十分に高速です」は「はい」です。

于 2011-09-11T22:21:35.453 に答える
1

FuseESBバージョン4.2では、2GBのRAMを搭載したDualCoreラップトップで1秒あたり15,000コールに達しました。ServiceMixによって公開されたCXFサービスに対して呼び出しが行われました。内部的には、OSGiによって注入された1つのSpring Beanが呼び出され、ランダムデータを返すだけでした。また、ServiceMixはクラスター化できます。したがって、Javaコンテナとしては十分に高速だと思います。

于 2011-09-07T07:23:39.223 に答える
0

「十分速い?」について 実際、8つのオープンソースESBのパフォーマンス比較については、 http://esbperformance.orgを参照してください。最近のESBのほとんどは非常に優れたパフォーマンスを発揮しますが、UltraESBが最高のパフォーマンスを発揮するESBであることがわかります。

要件を見ると、これはESBの典型的なユースケースです。これを実装するには、フィルタリングおよび変換機能を使用する必要があります。

フィルタは、メッセージの内容や受信URLなどのプロパティに基づいて呼び出されるフローを決定し、目的のフローに転送します。各フローには、サービスプロバイダーを呼び出すために必要な変換ロジックを組み込む必要があります。同様に、逆変換を行うために、逆応答が正しいフローにディスパッチされます。

免責事項:私はUltraESBを支援する会社であるAdroitLogicで働いています。

于 2012-03-26T03:11:15.190 に答える