0

問題:
Java (Tomcat) で実行されているサーバーのクラスターがあります。各サーバーは、JMX を介して多くの情報を公開します。クラスターが有効な状態であることを確認するために JMX を通過するには、多くの時間がかかります。

場合によっては、すべてのノードで特定のステータスをチェックするだけで十分です。それ以外の場合、データはノード全体に分散されているため、論理的な分析が必要になります。分析が必要なデータが多すぎて、手動では実行できない場合があります。

質問:
このようなテストを自動化するためのプラットフォームを提供するクラスター管理システムはありますか?

要件:

  • プラグイン (できれば Java で記述) によって拡張できる必要があるため、複雑なカスタマイズされたテストの場合は、ビジネス ロジックを使用してプラグインを開発するだけで済みます。
  • いくつかの JMX クライアント プラットフォームを提供する必要があります。
  • テストを実行して結果を確認するための GUI/JMX インターフェイス
  • スケジューリング
  • SNMP監視
4

1 に答える 1

1

これですべての要件が満たされるわけではありませんが、JGroupsを確認する必要があります。

(信頼できるマルチキャスト通信のためのツールキット)

基本的に、これは、マルチキャストまたはユニキャストを使用してさまざまなプロトコルを介して相互に同期を保つことができるクラスター化されたノードを作成するための Java ライブラリです。必要な機能スタックを構築するのに役立つビルディング ブロックの豊富なセットが含まれています。スタックのカスタマイズは、ビルディング ブロックおよび/または独自のカスタム状態管理またはクラスター呼び出し可能な「ビジネス メソッド」を使用して実装できます。つまり、呼び出されるビジネス メソッドを定義int getOpenPortCount()して、単一のノードではなくクラスターで呼び出すことができます。接続された各ノードは、ローカルでメソッドを呼び出し、呼び出しの結果を返します。その結果、クラスター呼び出しint[]は、JGroups クラスター上のノード数の長さの値を [効果的に] 返します。

いくつかの JMX クライアント プラットフォームを提供する必要があります。

これが何を意味するのか完全にはわかりませんが、JMX-Connector自体は組み込まれていません。ただし、個々のノードと直接通信したり、JGroups API を使用してクラスターを介してすべてのノードと通信したりできるため、必要ない場合があります。

テストを実行して結果を確認するための GUI/JMX インターフェイス

このようなものは見つからないと思いますが、基本的に純粋な Java を使用するため、JGroups API、JMX API、jUnit (または TestNG)、および Eclipse ベースのテストランナーを組み合わせて使用​​できます。これはかなりまともなテスト ハーネスと視覚化 UI を提供します。

スケジューリング

JGroups TimeSchedulerQuartzを使用するか、単にScheduledThreadPoolExecutorを使用して、クラスター全体で実行されるイベントをスケジュールできます。

SNMP監視

JGroups は監視用の JMX をサポートしており、 JVM の SNMP エージェントを介してブリッジすることができます。この jboss 固有のリンクは、これを実装する方法のアイデアを提供します。

于 2013-06-20T13:24:39.657 に答える