背景
かどうか、インターネットアプリケーション、エンタープライズアプリケーションは、バッチジョブの多数で満たされています。タスクのスケジューリングシステムは、多くの場合、いくつかの助けの開発者が問題を解決する必要があります。マイクロサービスアーキテクチャの漸進的な進化によって、徐々に分散アーキテクチャモノマー、マイクロサービスアーキテクチャへと進化。この文脈では、オリジナルのタスクスケジューリングプラットフォームの多くは、ビジネス・システムのニーズを満たすことができません。だから、いくつかの分散タスクベースの管理プラットフォームがあります。これらのプラットフォームは、独自の特徴を持っているが、そのようなタスクスケジューリングをサポートしていないとして、自分の欠点、で、ビジネスの高いカップリングはそうでクロスプラットフォームをサポートしていません。非常にサービスの次世代マイクロアーキテクチャのニーズを満たしていないので、同社はマイクロタスクスケジューリングサービスプラットフォーム(SIA-TASK)を開発しましたと信じていなければなりません。
SIAは、シンプルで素晴らしい略称であり、SIA-TASKは(マイクロタスクスケジューリングサービスプラットフォーム)重要な製品の一つである開発プラットフォームに基づいて、会社に適切な文字で、SIA-TASKが高い、クロスプラットフォームのレイアウトで、現在のマイクロ・サービス・アーキテクチャ・モデルに適合しましたそうで利用可能な、非侵襲性、一貫性、非同期並列、動的拡張、リアルタイムの監視と。
プロジェクト
SIA-TASKタスクのスケジューリングが一つの解決策です。メタデータ収集タスクは、タスクの視覚的なレイアウト、最終的にタスクのスケジューリング、および全体のプロセスを監視するためにタスクを取る、使いやすいです。ビジネス完全に非侵襲的な、タスクスケジューリングモデルは、シンプルで柔軟な構成を通じて期待に沿って生成することができます。
SIA-TASKリファレンス・デザイン・マイクロ・サービス、各タスクエグゼキュータの配布タスクのメタデータへのアクセス、およびタスクのレジストリにアップロードしました。JSON統一データ形式がコントロールセンター、プロセス・タスク、タスク通知によって解析されたクロックされて、HTTPプロトコルを使用して、タスクのスケジュールとして、動的にクロックを変更するためのタスクをオンラインスケジューリングタスクを使用しました。
重要な用語
- タスク(タスク):基本的な実行ユニット、HTTP呼び出しインタフェースの外部に露出したアクチュエータ。
- ジョブ(ジョブ):一方の存在またはタスクの互い(シリアル/パラレル)に複数の論理的関係、スケジューリング・タスクの最小単位は、中心をディスパッチ。
- プラン(計画):ジョブの実行順序の数は、各ジョブには、平面実装サイクルが存在しない、独自の実行サイクルを有します。
- ミッションコントロールセンター(スケジューラ)、各ジョブの実行期間に応じて、すなわち、論理プログラムに従って、HTTPリクエスト、ジョブ、タスクのスケジューリングを行います。
- タスクのスケジューリングセンター(コンフィグ):振り付けセンターが計画やオペレーションを作成するタスクを使用します。
- タスク実行部(実行部):サービス論理のHTTP要求の実行を受信するステップと
- ハンター:春のプロジェクトの拡張パックは、ビジネスタスク書き込むことが、このコンポーネントに依存することができ、登録センターをアップロードし、タスクキャプチャの実装を担当しています。
マイクロサービスタスクスケジューリングプラットフォームの特徴
- アノテーション・タスクに基づいてレジストリにアップロードすると、自動的にOnlineTaskは自動的に、メソッドのIPアドレスが配置されているポート、パス要求、リクエストメソッド、リクエストパラメータのフォーマットおよびその他の情報をつかむだろう@、HTTPサービスメソッドへの暴露に@OnlineTaskコメントを追加し、タスクをつかみます(ZooKeeperの)、および同期書き込み永続ストア、この方法の、すなわち、タスク。
- 注釈ベースの非侵襲的なマルチスレッド制御、シングルタスクインスタンスは、自動的にコメント@OnlineTaskシングルスレッド動作の制御を阻止するために、シングルスレッドのタスクスケジューリングフレームワークを実行する必要があり、ジョブが実行されている維持に再びスケジューリングされることはありません。そして、全体のプロセスは完全に開発者の認識を制御します。
- 適応型スケジューラタスクの割り当て、障害がタスクの実行、異常が発生しました。マルチタスクによると、途切れのないミッションを確実にするために、タスクを再目覚めさせるポリシーをカスタマイズすることができます。
- 柔軟性の高いタスクのスケジューリングモード、SIA-TASKの設計理念は、原子タスクに基づいて、複数のタスクを実行に応じて、協力関係を形成するために結合されています。中央のタスクスケジューリングおよびタスクスケジューリング中心に実行中に、ジョブスケジューリングにおけるジョブの組成となるように、互いの離間。私たちは仕事の流れを調整する必要がある場合、我々は唯一の振り付けの中央で処理する必要があります。一方振り付けセンターの支援シリアル、パラレルのタスク、および組織的関係の他の支店。別のタスクが同じタスクインスタンスで、また、スケジューリング処理の様々なサポート。
マイクロサービスタスクスケジューリングプラットフォーム
SIA-TASKは、5つの部分に分かれています。
- タスクエグゼキュータ
- ミッションコントロールセンター
- タスクのスケジューリングセンター
- タスクレジストリ(飼育係)
- 永続ストレージ(MySQLの)
SIA-TASKの主要なオペレーティング・ロジック:
- タスクのアノテーション・タスククロールタスク実行によってレジストリに報告
- レジストリを保存するためにミッションからデータを取得するためにタスクのスケジューリングセンターは、永続ストレージを統合します
- ミッションコントロールセンターは、持続的スケジューリングから取得した情報を保存します
- スケジューリングタスクエグゼキュータ論理アクセスに従い、ミッションコントロールセンター
UIのプレビュー
ホームモニタリングは、多次元を提供します
- ディスパッチャ情報:ディスプレイのスケジューリング情報(負荷容量、早期警告値)だけでなく、仕事の分布。
- 情報のスケジュール:印象コントロールセンターが起動される派遣、ジョブ、タスク、マルチ次元スケジューリング統計。
- プロジェクトの統計システムを使用するために、ジョブ番号、ジョブ番号など:統計ドッキングプロジェクト。
ジョブスケジューリングの監視は、リアルタイム監視を表示するために提出されました提供します。
- ジョブの状況をリアルタイムで監視:プロジェクトチーム単位パネルとして、仕事を示すと、状態が実行されます。
- リアルタイムログの相関:ログインリアルタイムの相関は、ステータスアイコンを着色することによって実証することができます。
タスク管理:タスクのメタデータ関連の操作
- メタデータエントリのタスク:タスク手動モード、あなたはここで入力することができます。
- 接続テストタスク:コネクティビティ機能検査を提供するタスク。
- 他のタスクのメタデータ操作:削除、修正します。
ジョブ管理:ジョブ関連業務
- タスクのスケジューリング:画策操作。
- 公開されたジョブ:ジョブの作成、変更、および出版。
- カスケード状に配置された:時間依存ジョブのセットを提供する存在。
ログ管理
- ローカルログ:ログインターフェースはシンプルかつ高速なクエリです。ログは、迅速なクエリのために7日間のスケジュール・ログを提供します。
Viewプロジェクト
https://www.oschina.net/p/sia-task
著者:CreditEase開発プラットフォームマネージャー/シニアアーキテクト梁新