1

MAC OS X Lion (10.7.4) で WSO2 ESB 4.0.3 に取り組んでいます。

WSO2 ESB 4.0.3 の開発のベスト プラクティスを教えてください。

現在、私はその中でデータ サービス機能を使用しており、WSO2 ESB に移植しようとしている既存の tomcat アプリケーションは、SQL クエリを 2 ~ 3 秒で実行しますが、データ サービス機能を備えた WSO2 ESB 4.0.3 は約 16 ~ 17 秒かかります。 .

WSO2 と特定の XSLT 変換のベスト プラクティスを誰かが教えてくれるとありがたいです。

答えを期待しています。

ありがとう

こんにちは Prabath これが私の環境です。WSO2 ESB 4.0.3 と Data Services Feature 3.2.2 を使用しています。プロキシ サービスは、DS サービスをフロント エンドします。データ ソースは、datasources.properties で炭素データ ソースとして定義されます。WSO2 Data Services Server 2.6.3 で同じサービスを実行しようとしましたが、パフォーマンスは既存の tomcat アプリケーションと同等ですが、Data Services Feature 3.2.2 を備えた ESB 4.0.3 は tomcat アプリケーションよりも 8 倍の時間がかかります。先ほど考えたように、XSLT は問題ではないようです。この DS を呼び出すプロキシ サービスには、すべてのエラー処理と入力検証があります。また、トランスポート用にローカルに変更しようとしましたが、それでもパフォーマンスの問題は同じです。また、転送される XML の形式がエンド ポイント定義で SOAP 12 であることを確認する必要があります。そうしないと、プロキシ サービスはローカル トランスポートで転送されません。Data Services Feature 3.2.2 で WSO2 ESB を使用して同等のパフォーマンスを得ることができるように提案していただけますか?

助けて本当に感謝しています。ありがとうアビジット

こんにちはプラバース

返信ありがとうございます。

プロキシ サービスの検証と変換は問題ではありません。ログを見ると、Data Services 機能を使用して ESB にデプロイされた Data Service は、Tomcat アプリケーションよりも 8 倍の時間がかかっているようです。したがって、私が信じる問題はデータ サービス機能であり、プロキシ サービスではありません。

入力の検証とエラー処理を行うプロキシ サービスを削除したとしても?

私にお知らせください。ありがとうアビジット

4

2 に答える 2

0

アビジット、

この問題が、dbReport/dbLookup メディエーターを使用して SQL を実行することと、ESB にデータ サービス機能をインストールして同じことを行うことに関連しているのか、DSS レイヤーで実行することに対して、ESB レイヤーで XSLT を使用して応答を変換することに関連しているのか、私にはよくわかりません。

前者の場合は、db メディエーターのペア (つまり、dbLookup と dbreport) を効果的に使用して、SELECT、INSERT、UPDATE、DELETE などの単純な SQL クエリを実行できるはずです。ただし、これらを使用することはお勧めしません。 WSO2 DSS は、そのような複雑なクエリを処理するように特別に設計されているため、「OUT および INOUT」パラメータを使用したスト​​アド プロシージャなどの非常に複雑なクエリを実行するメディエータ。ただし、これ (データ サービスを使用する) には、ネットワークの待機時間という代償が伴います。ネットワーク経由でデータ サービス エンドポイントを呼び出しているため、タスクを完了するために必要なエンド ツー エンドの時間に明らかにネットワーク レイテンシが追加されます。ただし、WSO2 ESB にインストールされた Data Services 機能を使用している場合は、「http/https」の代わりに「ローカル」トランスポートを使用するオプションが常にあります。

これが後者に関連している場合、つまり、XSLT 変換を参照している場合、これを行う際にそのような厳格なルールはなく、要件とユースケースに完全に依存すると思います。たとえば、WSO2 DSS のみを使用していて、クライアント側で期待される特定の形式に変換された要求を取得したい場合は、WSO2 DSS レイヤーでそれを実行するだけで十分です。XSLT 変換を完了するためにのみ ESB にディスパッチすると、タスクのエンドツーエンドの完了時間に不要なオーバーヘッドが追加されるためです。一方、ESB 側で構成フローの一部としてこれを行う場合は、フロー自体の中で XSLT メディエーターのようなものを使用しても問題ありません。

お役に立てれば!

よろしく。プラバース

于 2012-09-08T04:31:56.433 に答える
0

プラバースがあなたの質問にすでに答えていることを願っています。

ただし、WSO2 DSS はそのような複雑なクエリに対応するように特別に設計されているため、「OUT および INOUT」パラメータを含むストアド プロシージャなどの非常に複雑なクエリを実行するためにこれらのメディエータを使用することはお勧めしません。ただし、これ (データ サービスを使用する)には、ネットワーク レイテンシという代償が伴います。ネットワーク経由でデータ サービス エンドポイントを呼び出しているため、タスクを完了するために必要なエンド ツー エンドの時間に明らかにネットワーク レイテンシが追加されます。ただし、WSO2 ESB にインストールされた Data Services 機能を使用している場合は、 JVM 内呼び出しを行う「http/https」の代わりに「ローカル」トランスポートを使用するオプションが常にあります。通信網。

于 2015-03-02T04:54:44.520 に答える