コンセプト
キーワードブローカ メッセージの保存と転送を担当する 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 を使用しています。 |
<<: デジタル産業を支援し、インテリジェントな未来をつなぐ――西安航空基地企業「ファーウェイ参入」デジタル変革社長クラス
テンセント慈善基金は10月13日、重陽の節句を機に、高齢者がスマートフォンやアプリをより良く利用し、...
[[275983]]クラウドは大きくないといけない気がしますよね?クラウドの最も優れた機能が、クリッ...
Amazon Web Services は、ウォルト・ディズニー・カンパニーが Amazon Web...
[要点] この記事では、Douban ユーザーの視点から、Douban がユーザーにとってどのように...
サービスとしてのソフトウェア (SaaS) 企業は、雇用主がソフトウェア開発の求職者をテストするため...
国内資金が海外に投資する場合、最も人気のある投資市場は香港株と米国株です。多くの投資家は香港株に精通...
ウェブサイトのインタラクティブ性を高める方法は、2012 年に電子商取引企業の間で最もホットな話題の...
現在、社会、メディア、消費者はいずれも変化しています。企業がそれに追いつきたいのであれば、それに応じ...
Raksmart データセンター サーバーがプロモーション中です: 米国サーバー (独自の独立したデ...
労働者の日、中国の労働節に似ていますか? Greengeeksの仮想ホストが70%オフで販売されてお...
外部リンクを作成する場合、作成した外部リンクが有効かどうか、また、含まれているかどうかを確認する必要...
テンセントがJD.com、Meituan、Beike、Didi、Pinduoduoなどの大手インター...
LBXU は、建国記念日を記念して「クラウドで祝う、建国記念日を迎える」というテーマのイベントを開催...
新華社通信によると、Baidu Netdiskの一部のアカウントがわいせつな情報やポルノ情報を拡散し...
5月23日、Boyunは2022年Boyunコンテナクラウド製品ファミリーの「新たな栄光、偉大な成果...