Kafka と ES はどちらもビッグデータを処理するために使用されるミドルウェアです。 1つはメッセージミドルウェア(Kafka)の代表であり、もう1つはビッグデータ検索エンジン(ES)の代表です。ビッグデータはもちろん、Java分野でも幅広く利用されていますが、それらのリーダー選挙(マスターノードの選択)との関連性や違いは何でしょうか?次は一緒に見ていきましょう。 1. 基本概念(1)カフカとは何か?Kafka は LinkedIn によって開発および保守され、後に Apache Software Foundation の一部となった分散ストリーム処理プラットフォームです。これは主にリアルタイム データの処理用に設計されており、高スループットの分散パブリッシュ/サブスクライブ メッセージング システムです。 Kafka クラスターは次の要素で構成されます。
(2)ESとは何か?ES は Elasticsearch の略で、オープンソースでスケーラビリティの高い分散型全文検索エンジンです。ほぼリアルタイムでデータを保存および取得でき、優れたスケーラビリティを備えています。数百台のサーバーに拡張でき、PB レベルのデータを処理できます。 Elasticsearch は Java で開発されており、Apache Lucene をコアとして使用してすべてのインデックス作成機能と検索機能を実装していますが、シンプルな RESTful API によって Lucene の複雑さが隠され、フルテキスト検索がシンプルになっています。 ES クラスターは次の要素で構成されます。
2. KafkaとESマスターの選択Kafka リーダー選出はブローカー内のコントローラーの選択を指し、ES リーダー選出はクラスター内のマスターの選択を指します。これら 2 つは、Kafka の新しいバージョン (2.8 以降) と ES の新しいバージョン (7.0 以降) で関連しています。リーダー選出戦略は両方とも Raft アルゴリズムに基づいて実装されています。
3. Raft アルゴリズムとは何ですか?Raft アルゴリズムは分散一貫性アルゴリズムであり、主に分散システムでのデータ コピーの一貫性を実現するために使用されます。このアルゴリズムは、Paxos アルゴリズムのエンジニアリング実装です。その主な特徴は、比較的単純なアルゴリズムを通じて分散システムのデータの一貫性と高可用性を実現することです。
Raft アルゴリズムでは、分散システム内のすべてのノードがリーダー、フォロワー、候補の 3 つの役割に分割されます。これら 3 つの ID の変換は次のとおりです。 リーダー -> フォロワー: リーダーは、現在のシステムでより長い用語が出現したことを発見した場合、「退位」し、自ら退位してフォロワーになるという主導権を握ります。ここで、リーダーは次のようにして大きい方の項を見つけます。
フォロワー -> 候補: リーダーはフォロワーにまだ生きていることを知らせるために、定期的にハートビートを送信する必要があります。フォロワーが一定期間リーダーのハートビートを受信しない場合、そのステータスは候補者に切り替わり、現在の期間に選挙期間として 1 を追加し、そのポジションを埋めるための選挙を開始します。 候補者 -> フォロワー: 候補者の選挙中、次の 2 つの状況で候補者はフォロワーに返されます。 大多数が反対票を投じた。 選挙期間中に、任期が選挙期間以上であるリーダーからのリクエストを受信します。 候補者 -> リーダー: 候補者選挙中に、過半数が賛成票を投じた場合、候補者はリーダーに変わります。 候補者 -> 候補者: 候補者の選挙プロセスには時間制限があります。期限内に有効な結論(過半数の承認または拒否)に達しなかった場合は、候補者の地位は維持され、選挙期間が 1 増加され、新しい選挙ラウンドが開始されます。 4. ラフト選出プロセスRaft アルゴリズムの選択プロセスを次の図に示します。 投票プロセスは次の 3 つあります。 候補者は元のリーダーに投票します:
候補者はフォロワーに投票します: 有効期限が過ぎている場合は、リクエストを拒否し、現在の有効期限に戻してください。 期間が自分の期間よりも長い場合は、最後の同期ログが十分に新しいかどうかを判断します。あなたのものより新しい場合は、その候補者に投票してください。あなたのものより新しくない場合は、拒否してください。 候補者は候補者に投票します: リーダーの任期が自身の任期以上である場合、リーダーは投票に同意し、フォロワーにリクエストを返し、フォロワー モードでリクエストを処理します。 リーダーの任期があなたの任期より短い場合は、リクエストを拒否し、最新の任期で応答します。 各候補者は上記の投票に基づいて新しいリーダーを決定します。そのうちの 1 つが投票の半分以上を獲得した場合、そのノードが新しいリーダーに昇格し、このニュースを他のノードに同期します。そうでない場合は、新たな投票ラウンドが開始されます。連続投票を防止するため、新たな投票開始時にランダムな待機時間を設け、一定数の不投票後に棄権できる仕組みを設け、投票が円滑に完了するようにします。 |
<<: エッジコンピューティングとデータサイエンス: IoT デバイスの強化
>>: クラウド開発に関する考察: どのクラウド開発戦略が正しい選択でしょうか?
デジタル変革の加速に伴い、ビッグデータはビジネス管理の主な手段の1つとなり、ますます多くの業界がビッ...
10日以上前、世界的に有名な旅行口コミサイト「トリップアドバイザー」からメールが届きました。このメー...
背景アフリカ大陸の急速な開拓2018年9月25日に、UCloud Lagos データセンターが設立さ...
みなさんこんにちは、張柯です。今日は百度の統計ツールについてお話ししたいと思います。百度は統計ツール...
gigsgigscloud には、速度、超高 DDoS 防御、CC 攻撃防御を特徴とする新しい香港 ...
10g.bizは現在、大規模なディスカウントキャンペーンを実施しています:(1)香港と米国の自社デー...
Taobao の顧客になるには、SEO についてある程度知っておく必要があります。検索エンジンは記事...
JS に関しては、検索エンジンに優しくないこの技術が、美しい Web ページ効果を生み出し、いくつか...
国内の業者「Fanyun」のロサンゼルスVPSには、cn2ネットワーク、拡張可能なクラウドディスク、...
Kubernetes はわずか 2 年で、コンテナ オーケストレーションの競争において徐々に優位に立...
【実名紹介】SEOには専門家と初心者の区別はありません。インターネットは大きな舞台です。最近、eコマ...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン2018年9月20日、上海ドラゴンドリー...
Digital Pulse Technology Limited(香港CR番号2830621)は、2...
最近、改めてTmallの「かっこよさ」に感動しました。ひらひらと舞う雪の結晶が、無限ループするGIF...
つい最近、西瓜動画は今日頭条プラットフォームに「テンセントの著作権侵害の申し立てに基づき、広州裁判所...