分散リーダー選出分散システムでは、アプリケーション サービスは高可用性を確保するために複数のノード (またはインスタンス) を使用することが多いです。ただし、シナリオによっては、一部のデータまたはタスクを並行して操作できない場合があります。現時点では、これらの特別なタスクを実行する(または調整して決定する)には特定のノードが必要です。この特定のノードがリーダーであり、複数のノードの中からリーダーを選択するメカニズムは分散リーダー選出と呼ばれます。 最近では、多くの有名なプロジェクトでも分散リーダー選挙が使用されています。たとえば、
一般的なアルゴリズムには次のものがあります。
Kubernetes リースKubernetes では、kube-scheduler や kube-controller-manager などのコア コンポーネントも分散リーダー選出を使用する必要があります。これは、常に 1 つのスケジューラだけがスケジュール決定を行い、同時に 1 つのコントロール マネージャーだけがリソース オブジェクトを処理するようにする必要があるためです。 ただし、コア コンポーネントに加えて、ユーザー アプリケーション サービスにも同様の分散リーダー選出要件がある場合があります。この一般的な要件を満たすために、Kubernetes は Lease と呼ばれる特別なリソース オブジェクトを提供します。 上の図に示すように、k8s におけるリーダー選出は、分散ロック (リース) を競うことで実現されます。ロックを取得したインスタンスがリーダーになります。リーダーは、その存続を確認するために、ロック(リース)を継続的に更新する必要があります。リーダーが電話を切るとロックが解除され、他の候補者が新しいリーダーになるために競争できるようになります。 リースの構造も非常にシンプルです。 リースは本質的に他のリソースと変わりません。 Lease に加えて、configmap またはエンドポイントを分散ロックとして使用することもできます。これは、最下層で、k8s がリソース オブジェクトの resourceVersion フィールドを使用して比較とスワップを実行するため、つまり、このフィールドを通じて楽観的ロックが実装されるためです。もちろん、実際の使用ではリースを使用することをお勧めします。 使用例分散リーダー選出に Lease を使用する例は次のとおりです。 参考文献:
|
>>: Istio と Flagger を組み合わせたグレースケール リリース
絶大な人気を誇ったことから、今日では絶えず「パロディ化」されるようになった「江南スタイル」のイメージ...
自分のウェブサイトが含まれていない場合はどうすればいいですか? 重みが足りない場合は、フレンドリーリ...
3月5日、フォーブスのウェブサイトは2019年の世界長者番付を発表しました。今回、張一鳴氏は黄正氏を...
記者:ハン・ジチャン写真 | 王昭雑誌記者は、ネット界の新人で捜狗のCEOである王小川の人柄を、無神...
これまでにもこれらのキーワードのいくつかについてお話ししてきましたが、統一した形でお話ししたことはあ...
新しいウェブサイトを最適化するのは簡単ではないと言われていますが、実際に経験してみなければ、どこに難...
「6月22日と6月28日の事件に対する百度の対応」についての考察6月22日と6月28日の事件以来、百...
ウェブサイトのプロモーション、これは多くの初心者ウェブマスターが直面する最も難しい問題であると私は信...
最近、キャッシュレス化を巡っては賛否両論が巻き起こり、その公式見解が注目を浴びている。メディアの報道...
サイトのアップグレードは、数え切れないほどの SEO 担当者の悩みの種です。サイトをアップグレードし...
中小規模のアプリケーション開発チームにとって、テクノロジーはもはやボトルネックではありません。最も難...
最近、オンライン マーケティング スタートアップ企業 Ranky.co の共同設立者兼 CEO であ...
[51CTO.com からのオリジナル記事] 革新的なテクノロジーを通じて顧客の持続的な成功を支援す...
Discuz! 愛好家は4月13日に、昨夜、あるウェブマスターが自分のウェブサイトのスナップショット...
Baidu Knows は現在 SEO の戦場となっています。A5 にも Baidu Knows を...