コンセプト
キーワードブローカ メッセージの保存と転送を担当する 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 を使用しています。 |
<<: デジタル産業を支援し、インテリジェントな未来をつなぐ――西安航空基地企業「ファーウェイ参入」デジタル変革社長クラス
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますモバイル ...
Hostkvm は現在、香港データセンターのエリア A (つまり、Towngas Telecom の...
WeChat、この言葉はほとんどの人にとって馴染みのない言葉ではありません。現在、WeChatのユー...
導入Kubernetes が実稼働環境でますます普及し複雑になるにつれて、安定性を確保するための課題...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています一般的に言...
このタイトルを書くためにペンを手に取ったとき、突然、次の文章の書き方がわからなくなってしまいました。...
インターナショナル・データ・コーポレーション(IDC)が発表した最新の「中国ビデオクラウド市場追跡(...
2020年にCOVID-19パンデミックが発生して以来、世界のエンターテインメントおよびソーシャル...
ウェブサイトのタイトルはウェブサイトの魂です。タイトルの位置付けと書き方はウェブサイトの将来の発展に...
どの業界でも、競合他社を陥れるために恥ずべき方法を使う人が必ず存在しますが、SEO 業界でも同じこと...
以下は、今年第 3 四半期の格安 VPS のトップ 20 リストです。複数の企業と複数のデータ セン...
アリババクラウドは9月22日、タイ・プーケットで開催されたアリババクラウド国際サミットで、タイのTr...
スマートサーモスタットからフィットネストラッカーまで、IoT デバイスは私たちの日常生活に当たり前の...
情報技術の分野では、ハイブリッド クラウド (またはクラウド コンピューティング インフラストラクチ...
新年まで残り1日。今年のホットワードから今年のマーケティングイベントまで、年末を振り返る記事がネット...