すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:SchedulerX ジョブのカナリアリリースを実行するにはどうすればいいですか。

最終更新日:Jan 13, 2025

このトピックでは、SchedulerX ジョブのカナリアリリース機能の使用方法について説明します。

ラベルに基づくカナリアスケジューリング

ワーカーがラベルベースのルーティングポリシーに基づいてサーバーハートビートにレポートする場合、ワーカーはラベルもレポートできます。 この場合、ジョブを静的に構成するか、ジョブを動的に実行するときに、各ジョブを指定されたラベルを持つワーカーにスケジュールできます。

ソリューション 1:コピーに基づいてカナリアリリースジョブを作成する

ジョブをコピーしてカナリアリリースジョブを生成し、本番ジョブに prod ラベルを、カナリアリリースジョブに gray ラベルを追加できます。 その後、カナリアリリースジョブを使用してカナリアリリーステストを実行できます。

image

ソリューション 2:手動スケジューリングと自動スケジューリングを組み合わせて、ジョブのカナリアリリースを実行する

カナリアリリース期間中に検証のためにカナリアリリースワーカーで [スケジュール済みジョブを 1 回実行] する場合は、ジョブをコピーする必要はありません。 以前のジョブを引き続き使用し、SchedulerX コンソールで [指定されたラベルを 1 回手動で実行] できます。

image

Jenkins などの継続的インテグレーションソフトウェアを使用して、1 回限りのジョブ実行を自動化することもできます。 次の図は、自動スケジューリングの手順を示しています。

image

ユーザー側ノードのラベルを指定する

アプリケーションの起動時にラベルを指定する

アプリケーションを起動するときに、Properties フィールドを使用してラベルを指定できます。 次のコードは、Spring Boot プロジェクトの例です。

spring.schedulerx2.label=${label}