2

私は「ファサードWebサービス」に取り組んでおり、その一部を再考する必要があります。

コンテキスト-私のWebサービス(「FacadeWebservice」と呼びましょう)は、他のWebサービスの複雑さをシステムから隠すために開発された内部Webサービスです。

  • 私のFacadeWebserviceExternalWebserviceAExternalWebserviceBを呼び出し、まもなくExternalWebserviceCを呼び出す必要があります。
  • ExternalWebserviceAExternalWebserviceB、およびExternalWebserviceCは外部Webサービスです。変更やダウンタイムが発生する可能性があります。

複雑さはますます高まっており、FacadeWebサービスと外部Webサービスを監視する方法を再考する必要があります。私は欲しい:

  • アプリケーションステータスの完全なビュー(呼び出しの数、送信されたエラーコード)
  • 外部Webサービスで何が起こっているかについての良い考え(外部Webサービスのダウンタイム、私のWebサービスによって受信された応答コード-たとえば、そのうちの1つはしばらくの間「技術的エラー/読み取り専用」になることがよくあります)
  • 基本的に、全体的なステータスを表示するシンプルなビュー/ツール。
  • サービスの可用性はほぼカバーされているので(Nagiosのようなアプリは必要ありません)、アプリケーションレベルで何が起こっているのかを知りたいです。

私はFacadeWebservice内でJMXを使用することを考えていました。これにより、興味深いグラフや統計が得られる可能性があります。

それは行く方法ですか?または、このタスクには適切なロギング戦略で十分ですか(外部の変更が私の問題の大きな部分である場合でも)?

このテーマに関するアドバイスや経験はありますか?

4

3 に答える 3

2

これは非常に複雑な要件ですが、JavaMelody ( http://javamelody.googlecode.com ) を試すことができます。

  • 「アプリケーションステータス(呼び出し数、送信されたエラーコード)」:はい、http呼び出し数とhttpエラー経由
  • 「外部 Web サービス」統計: はい、EJB3 または Spring を使用している場合は、インターセプターを介して JavaMelody で実行できます。
  • JavaMelody はアプリケーション レベルで監視を行い、「グラフと統計」を備えています。スクリーンショットを参照してください。
于 2009-10-08T17:45:49.320 に答える
2

JMX の利点は、コマンドを実行して複雑なデータをクエリできることです。

不利な点は、標準のコンソール (Java のバージョンで使用できるもの) がかなり制限されていることです。何でもできますが、何もうまくいきません。

私の解決策は、そのデータを表示する単純な HTML ページを作成することでした。次の利点があります。

  1. 見たいデータを自分にとって最も役立つ方法で簡単にフォーマットできます。

  2. どんなウェブブラウザでも見ることができます(自宅、インターネットカフェ、携帯電話)

主な欠点は、複雑なデータ (グラフやトレンドなど) を表示するのがそれほど簡単ではないことです。

[編集] とはいえ、JMX はグラフとトレンドの表示をサポートしていますが、メモリはありません。これで、JMX コンソールを開始してから何が起こっているかがわかります。過去を調べる必要がある場合は、常にどこかで JMX コンソールを実行する必要があります。

この場合、必要なものを描画できる「単純な HTML ページ」にグラフィックス レンダリング モジュールを追加する方が簡単かもしれません。

于 2009-10-06T08:23:08.440 に答える
1

これがオプションかどうかはわかりませんが、ESB コンポーネントによって提供されるいくつかの機能が必要なようです。

  • Web サービスの集約、構成、およびオーケストレーション
  • 監視 (呼び出し数、プロキシされた Web サービスの状態など)
  • 管理コンソール
  • などなど

おそらく、JMX を介して監視できる ServiceMix のようなものを確認する必要があります ( Using a JMX Console with ServiceMix を参照)。

代替テキスト
(ソース: apache.org )

または他の商用ツール ( Mule ESB EnterpriseALSB Oracle Service Bus など)。

于 2009-10-08T18:07:21.713 に答える