1

低 CPU キュー処理タスクがあり、潜在的に長時間実行し続ける必要があります。タスクが失敗した場合に備えて、高可用性のクラスター化された環境でタスクを実行したいと考えています。最初のマシンが失敗した場合、タスクは別のマシンに「切り替える」必要があります。クラスター内の 1 台のマシンで同時にタスクを実行し、マシンの障害時にシームレスにフェールオーバーできるようにする最善の方法は何ですか?

現在、JGroupsを使用してこの機能を実装することを計画しています。タスクごとに 1 つのチャネルを保持し、チャネル リーダーだけがタスクを実行し、他のメンバーは「フォロー」します。その後、チャネル リーダーが変わると、新しいチャネル リーダーが前のチャネル リーダーが中断したところから再開します。

この問題を解決するために JGroups を使用した人はいますか? あなたの経験は何ですか?

4

1 に答える 1

1

JBoss 4.2.3+ Clustered Singletonからインスピレーションと方向性を得ることができます。ノードのクラスター内の 1 つのノードのみで実行されるサービスを定義します。そのノードに障害が発生した場合、またはクラスターから排出された場合、新しいノードにシングルトンが割り当てられます。[JBoss Clustering の] 基礎となる実装は JGroups です。

于 2013-05-21T21:17:22.110 に答える