コンセプト
キーワードブローカ メッセージの保存と転送を担当する Kafka サーバー。 トピック メッセージ カテゴリ、Kafka はトピックに応じてメッセージを分類します。リレーショナル データベースのテーブルに似ています。 パーティション トピックのパーティション。トピックには複数のパーティションを含めることができ、トピック メッセージは各パーティションに保存されます。 オフセット ログ内のメッセージの位置は、パーティション上のメッセージのオフセットとして理解でき、これはメッセージを表す一意のシーケンス番号でもあります。 プロデューサー メッセージ プロデューサーは、Kafka クラスター内のブローカーにメッセージをプッシュします。 消費者 メッセージ コンシューマーは Kafka クラスターからメッセージをプルし、メッセージを消費します。 消費者団体 消費者のグループ化、各消費者はグループに属している必要があります 動物園の飼育員 クラスター ブローカー、トピック、パーティションなどのメタデータを保存します。また、ブローカーの障害検出、パーティション リーダーの選出、負荷分散などの機能も担います。 Kafka アーキテクチャ設計を抽象から具体まで理解するマクロ的な視点で見ると、それはストレージシステムです。 詳しく言うと、複数のプロデューサー、複数のコンシューマー、ブローカー クラスター、および Kafka で構成されます。 さらに詳しく説明すると、ブローカーにはコントローラーの役割があります。各ブローカーは複数のトピックの異なるパーティションを保存でき、各パーティションにはリーダーとフォロワーが存在します。この情報はすべて zk に登録されます。 クラスタアーキテクチャと新バージョンの最適化の理解コントローラよく知られているルールがあります。ビッグデータ分散ファイルシステムでは、95% がマスタースレーブアーキテクチャであり、一部は ElasticSearch などのピアツーピアアーキテクチャです。 Kafka にもマスタースレーブアーキテクチャがあります。マスターノードはコントローラーと呼ばれ、残りはスレーブノードと呼ばれます。コントローラーは、Zookeeper と連携して Kafka クラスター全体を管理する必要があります。 効果クラスター全体を調整および管理します。 責任
コントローラーの選出これは Zookeeper に基づいて実装されており、Zookeeper の znode モデルと監視メカニズムを利用します。 コントローラのフェイルオーバー単一障害点がありますが、各ブローカー ノードはコントローラーになることができます。 フェイルオーバーも、Zookeeper、znode モデル、監視メカニズム、/controller ノードに基づいて実装されます。 Kafka と Zookeeper はどのように連携しますか?
Kafka の新しいバージョンでは ZooKeeper が廃止されます!!!!!!2021 年 3 月 30 日、Kafka を開発する Confluent 社は、次期バージョン 2.8 では ZooKeeper をまったく必要とせずに Kafka を実行できるようになるとブログ記事を公開しました。このバージョンでは、ZooKeeper に依存するコントローラーが Kafka Raft に基づく Quorm コントローラーに変換されます。 以前のバージョンでは、Kafka は ZooKeeper がないと機能しませんでした。ただし、2 つの異なるシステムを管理および展開すると、運用と保守の複雑さが 2 倍になるだけでなく、Kafka が重くなり、軽量環境での Kafka の適用が制限されます。同時に、ZooKeeper のパーティショニング機能によって Kafka の収容能力も制限されます。 初めて、ユーザーは ZooKeeper なしで Kafka を実行できるようになりました。 これはアーキテクチャの大幅なアップグレードであり、常に「重い」Kafka をよりシンプルにします。軽量なシングルプロセス展開は、ActiveMQ や RabbitMQ の代替として使用でき、エッジ シナリオや軽量ハードウェアを使用するシナリオにも適しています。 10 年間使用してきた ZooKeeper をなぜ放棄するのでしょうか?zk の欠点:
ZooKeeper は、クラスター内のトポロジの変更を更新するための Kafka のリーダーとして機能します。 ZooKeeper によって提供される通知に基づいて、プロデューサーとコンシューマーは、Kafka クラスター全体に新しいブローカーまたはブローカーの障害があるかどうかを検出します。容量拡張やパーティション移行などのほとんどの運用および保守操作では、ZooKeeper とのやり取りが必要です。 つまり、Kafka コードベースの大部分は、クラスター内の複数のブローカー間でのパーティション (つまりログ) の割り当て、リーダーシップの割り当て、障害の処理などの分散システム機能の実装を担当しています。業界で広く使用され、検証されている ZooKeeper は、分散コード作業の重要な部分です。 ZooKeeper がなければ、Kafka はプロセスを開始することすらできませんが、ZooKeeper に大きく依存することで、Kafka にも制約が生じます。 ただし、現在ほとんどの人は、ZK と組み合わせたバージョンの Kafka を使用しています。 |
<<: デジタル産業を支援し、インテリジェントな未来をつなぐ――西安航空基地企業「ファーウェイ参入」デジタル変革社長クラス
毛沢東は偉大な人物でした。彼が世界に残したのは、私たち中国人が自らの運命を決定できる国だけではなく、...
6月5日、テンセントクラウドと平頂山銀行は戦略的協力協定を締結した。両者は金融テクノロジーなど複数の...
2018年、社会、経済、文化などの環境が複雑に変化する中、ブランドマーケティングも変化を遂げ、軽薄さ...
最近最もホットな話題は、Baidu のクリックに関する白熱した議論であり、喜ぶ人もいれば心配する人も...
どの業界であっても、ユーザーの悩みや痛みを解決できれば、お金を稼ぐことに不安を感じることはありません...
近年、技術レベルでの分散化の需要が高まり、サプライチェーンの潜在的なリスクが深刻化する中、国内データ...
近年新興産業となっている SEO は、多くの志望者の仕事上の問題を解決してきました。 SEOを学んだ...
テキスト | 李星外食産業はほとんどの産業よりも市場規模が大きい。国家統計局が発表したデータによると...
Tencent Meeting は再び国際的に権威のある組織から認められました。 Tencent M...
[51CTO.com からのオリジナル記事] インターネットの台頭により、今日の消費者は大きな可能性...
support.by は 2004 年に設立され、15 年以上の歴史を持つベラルーシのホスティング会...
重要なヒント: サイト全体の最適化は、実際には、Web サイト全体に焦点を当て、Web サイトの詳細...
記事にあらゆる種類のキーワードを追加することに慣れたのはいつからかわかりません。まるで強迫性障害があ...
App Store には何百万ものアプリがあります。自分のアプリを目立たせるにはどうすればよいでしょ...
Admin5 Webmaster Networkによると、4月7日に第7回インターネットウェブマスタ...