分散スケジュールタスクの弾性ジョブのジョブシャーディング戦略について話しましょう

分散スケジュールタスクの弾性ジョブのジョブシャーディング戦略について話しましょう

実際の開発では、定期的にバッチを実行し、1 日に 1 回調整操作を実行する必要があるシナリオに遭遇することがよくあります。通常、Spring Timing Framework、ScheduledExecutorService などの時間指定タスクが使用されます。ただし、これらは単一のマシンにのみ適しています。複数のノードがある場合、スケジュールされたタスクは繰り返し実行されます。現時点では、問題を解決するには分散スケジュールされたタスクを使用する必要があります。分散スケジュールタスクは、上記の問題を解決するだけでなく、処理効率を向上させるシャーディング、分散スケジュールと調整、弾力的な拡張と縮小、フェイルオーバーなどの利点も提供します。

[[281994]]

1. 一般的な分散スケジュール タスクとは何ですか?

オープンソースの分散時間指定タスクは数多くあります。よく使われるものをいくつか紹介します。

  • elastic-job: Dangdang によって開発された弾性分散タスク スケジューリング システム。機能が豊富で強力です。 Zookeeper を使用して分散調整、高可用性、タスクのシャーディングを実現し、クラウド開発をサポートできます。
  • xxl-job: Dianping.com の従業員である Xu Xueli が 2015 年にリリースした分散タスク スケジューリング プラットフォームです。軽量の分散タスク スケジューリング フレームワークです。基本的な設計目標は、開発が速く、学習しやすく、軽量で、拡張しやすいことです。
  • Saturn: Vipshop が独自に開発した分散スケジュールタスクスケジューリングプラットフォームです。これは、Dangdang の elastic-job バージョン 1 に基づいて開発されており、Docker コンテナーに適切にデプロイできます。

その中で、elastic-job(E-job)とxxl-job(X-job)がより広く使用されています。ここでは、この 2 つの技術的な選択については詳しく説明しません。以下に、参考までに両者の総合的な比較を示します。実際のビジネステクノロジーのシナリオに基づいて選択できます。

2. エラスティックジョブシャーディング戦略とは何ですか?

実際のシナリオに基づいて適切なジョブシャーディング戦略を選択し、シャーディング処理を実行すると、タスクの実行効率が向上します。以下は elastic-job が提供するシャーディング戦略です。

  • AverageAllocationJobShardingStrategy シャーディング戦略
  • OdevitySortByNameJobShardingStrategy シャーディング戦略
  • RotateServerByNameJobShardingStrategy シャーディング戦略
  • カスタムシャーディング戦略

[[281995]]

1. 平均割り当てジョブシャーディング戦略

com.dangdang.ddframe.job.lite.api.strategy.impl.AverageAllocationJobShardingStrategy

戦略の説明:

平均分散アルゴリズムに基づくシャーディング戦略も、デフォルトのシャーディング戦略です。サーバーの数がジョブの数で割り切れる場合、ジョブの数は均等に分散されます。

フラグメントを均等に分割できない場合、均等に分割できない余分なフラグメントは、シーケンス番号(先頭の IP アドレス)が小さいサーバーに順番に追加されます。

デメリット: 平均的なシャーディング戦略。シャードの数がジョブ サーバーの数より少ない場合、ジョブは常に IP アドレスが早いサーバーに割り当てられ、IP アドレスが遅いサーバーはアイドル状態になります。

2. OdevitySortByNameJobShardingStrategy シャーディング戦略

com.dangdang.ddframe.job.lite.api.strategy.impl.OdevitySortByNameJobShardingStrategy

戦略の説明:

この戦略の中心的な考え方は、IP 昇順/降順アルゴリズムを使用して、ジョブ名のハッシュ値の奇数または偶数に基づいてシャーディングを実装することです。ジョブ名のハッシュ値が奇数の場合、IP は昇順になります。ジョブ名のハッシュ値が偶数の場合、IP は降順になります。この方法は、異なるジョブ シャードの負荷を異なるサーバーに分散させるために使用されます。

ジョブ名のハッシュ値が偶数の場合、IP 降順アルゴリズムを使用してシャーディングが実装され、平均分散アルゴリズムの使用時に後の IP アドレスを持つアイドル サーバーの問題を回避します。

内部では平均化アルゴリズムが使用されます。

3. RotateServerByNameJobShardingStrategy シャーディング戦略

com.dangdang.ddframe.job.lite.api.strategy.impl.RotateServerByNameJobShardingStrategy

戦略の説明:

シャーディング戦略では、ジョブ名のハッシュ値に応じてサーバー リストがローテーションされ、平均シャーディングも内部的に使用されます。 、

4. カスタムシャーディング戦略

JobShardingStrategy インターフェースを実装し、シャーディング メソッドを実装することで、ニーズに応じて独自のシャーディング戦略をカスタマイズできます。以下は、Spring でカスタム割り当て戦略を切り替えるための設定方法です。

結論

elastic-job によって提供される 3 つのシャーディング戦略は、通常、平均シャーディング アルゴリズムを使用しますが、インスタンスの並べ替え方法は異なります。独自のニーズに応じてカスタマイズできるカスタム シャーディング戦略をサポートします。実際のプロジェクト アプリケーションでは、平均シャーディング戦略がよく使用されます。

<<:  コンテナとKubernetesがあらゆるものを実行できる可能性を秘めている理由

>>:  クラウドネイティブ ストレージ システムはどのような条件を満たす必要がありますか?

推薦する

hostflyte: cn2 vps、20% 割引、年間わずか 14 ドル、内蔵防御、自動変更 IP、Windows システム

HostflyteのCN2 VPS(CN2 GT、片道)が20%オフで販売されています。国内の往路は...

holderhost-$7/3Gメモリ/150Gハードディスク/4Tトラフィック/Gポート/フェニックスシティ

holderhost.com の openvz 用大容量メモリ VPS をご紹介します。サーバー構成...

エッジコンピューティングとエッジクラウド連携については、この記事をお読みください。

モノのインターネットなどの技術の継続的な発展とデータの継続的な増加により、クラウドベースのモノのイン...

意見:企業はマルチクラウドを心配するのではなく、ハイブリッドクラウド戦略にもっと重点を置くべき

実際、多くの企業がマルチクラウドを使用していますが、それが何であり、なぜそうするのかを知っている人は...

インターネットにはたくさんの人がいますが、SEO初心者は何をすべきでしょうか?

百度は以前2回大規模なアップデートを実施し、一部のウェブマスターのウェブサイトがブロックされたり、格...

kvmla: シンガポール cn2 クラウド サーバー (VPS) が 20% オフ、シンガポール cn2 専用サーバーが 25% オフ

kvmlaが新年を前にオープンしたシンガポールの新データセンターのキャビネットは、半月以上のテストを...

戴志康:中小規模のウェブマスターにとってのチャンスは垂直分割産業にある

最近のニュースによると、2012年中国ウェブマスターカンファレンスの重慶大会が4月21日に重慶南平国...

データクラブ: 6 ユーロ、スウェーデン/オランダ/リトアニア、KVM 仮想化、無制限帯域幅 VPS

dataclubは主にスウェーデン(ストックホルム)、リトアニア、オランダの3つのデータセンターで独...

百度のアルゴリズム調整はブランド保護意識を反映

Baidu は最近、アルゴリズムを再度調整しました。このアルゴリズムの調整により、Web サイトのブ...

検索エンジンのみに最適化し、ユーザーの検索意図を無視する

新しいサイトの最適化計画は、これまでと同じように最適化できますか? 検索エンジンのみに最適化すること...

2018 年のクラウド トレンド: サーバーレス コンピューティング、Kubernetes プラットフォーム、ベンダー寡占

市場調査・分析会社フォレスターのデータによると、パブリッククラウドコンピューティングは、その固有の柔...

衛翔ホスト:日本独立サーバー、大阪データセンター、3ネットワーク直結、割引プロモーション

7月に日本大阪で新独立サーバー「Weixiang Host」がオープン(国内電信、聯通、移動、すべて...

KubeSphere DevOps システム機能の実践

序文Jenkins ベースの KubeSphere DevOps システムは、Kubernetes ...

SE0技術をベースにした中小規模の旅行会社向けウェブサイトコンテンツ構築スキル

近年、中国の観光電子商取引は急速に発展しています。iResearch Consultingによると、...

五英クラウドコンピュータは、アリババクラウドのグローバルリソースにワンストップで接続し、企業のリモート業務再開を24時間365日サポートします。

世界の産業チェーンの注目の下、深センは秩序正しく業務を再開している。多くの地元テクノロジー企業が、新...