この記事はWeChat公式アカウント「妹の味」から転載したもので、著者は妹が飼っている犬です。記事を転載する場合は、ミスシスターテイスト公式アカウントまでご連絡ください。 この機会をお祝いしましょう!最新バージョンの Kafka 2.8.0 では、Zookeeper への依存関係がなくなり、KRaft を通じて独自のクラスターを管理します。非常に良い、非常に良い、ようやく質的な変化が起こった。 KRaft と聞いたとき、私たちは Raft プロトコルを思い浮かべました。 Raft プロトコルは、現在最も人気のある分散調整アルゴリズムです。 Etcd や Consul などのシステムの基盤となります。今ではカフカにもそれが備わっている。 この機能は非常に新しいため、バージョン 2.8.0 ではデフォルトでまだ ZooKeeper が使用されていますが、試してみることを止めることはできません。また、あまり興奮しすぎないでください。一部の機能はまだ完璧ではないと公式が主張しているため、オンラインでは使用しないでください。 1. KRaft を起動するにはどうすればいいですか?Kafka は ZooKeeper の代わりに組み込みの KRaft を使用します。これは、ES などの分散システムがクラスターのメタ情報を自己循環方式で同期するため、大きな改善です。 しかし、KRaft を使い始めるにはどうすればいいのでしょうか?多くの学生が混乱しています。この分野の情報は比較的少ないですが、使い方は非常に簡単です。 config ディレクトリの下に、kraft という新しいディレクトリがあり、そこに ZK への依存関係を直接放棄できる新しい構成ファイル セットが含まれていることに気付きました。 次の 3 行のコマンドを使用すると、ZK を介さずにスタンドアロン ブローカーを起動できます。
しばらくパチパチ音が鳴った後、No ZK Kafka が始まりました。 とても簡単です。 2. 設定方法は?Kafka は、このメタデータを保存するために @metadata という内部トピックを追加します。 次に、いくつかの重要な構成情報を見ていきます。主な違いを確認するには、vimdiff config/server.properties config/kraft/server.properties を使用できます。 まず、Kraft には process.roles と呼ばれる追加の構成があります。設定ファイルでは次のようになります。
実際には3つの値があります。
ES に精通している学生であれば、これらの部門が ES のマスターとノードのようなもので、分散の概念は実際にはある程度同じであることがわかります。 次のステップは、アドレスの変更を監視することです。サーバーには 2 つの機能があるため、2 つのポートを開く必要があります。
さらに、node.id と呼ばれるものがあります。元の broker.id とは異なり、この nodeid は投票に使用されます。
raft プロトコルの特性上、投票構成では上記の node.id を使用する必要があります。こう書くとちょっと変な感じがしませんか?しかし、Zk のものよりはるかに優れています。したがって、これらの構成は以降のバージョンで変更される可能性があります。
これが設定ファイルの主な違いです。そのコレクションを見てみましょう。
3. ZK を削除する必要があるのはなぜですか?メッセージ キューとして、Kafka は実際には重量級の調整システムである ZooKeeper に依存しています。これは冗談です。また、メッセージ キューとしても、RabbitMQ は早い段階で自己管理を実現しました。 Zookeeper は非常に扱いにくく、奇数個のノードを持つクラスター構成が必要なので、容量の拡張や縮小が不便です。 Zk の設定方法も Kafka とは全く異なります。 Kafka を調整するには、別のシステムを考慮する必要があります。これは本当にひどい。 Kafka を軽量かつすぐに使える方向に発展させたいのであれば、Zk を排除する必要があります。 さらに、Zk と Kafka は同じストレージ システム内にないため、トピックとパーティションの数が増えると、データ同期の問題がより顕著になります。 Zk は信頼性が高いですが、遅いです。 Kafka のログ ストレージ システムに配置するのほど良くはありません。スピードを誇る Kafka にとって、これは回避しなければならないリンクです。 Kafka-admin を使用したことがある学生なら、監視データの同期が遅いことを鮮明に覚えているはずです。まず zk を経由してメタデータ情報を取得し、次に Kafka の JMX インターフェースからデータを取得する必要があります。このサイクルにより、大規模なクラスターがほぼ消滅しました。 4. どのような変更がありますか?より簡単な導入。 まず、展開が容易になります。高可用性を追求しない一部のシステムでは、単一のプロセスでも優れた Kafka を実行できます。 Zookeeper 対応の SSD ディスクを申請する必要も、ZK の容量が十分かどうかを心配する必要もなくなりました。 監視がより便利になります。 第二に、情報の集中化により、zk を経由せずに Kafka から監視情報を取得することが容易になります。 Grafana/Kibana/Promethus などのシステムとの統合が間もなく始まります。 より速いスピード。 最も重要なのは、もちろんスピードです。 Raft は ZK の ZAB プロトコルよりも理解しやすく、効率的です。パーティション マスターの選択が高速化され、コントローラーのスケジューリング速度が向上します。 このようなつながりは二度と生まれないでしょう。
代わりに、ブートストラップ接続方法のみが残ります。 Kafka のノードはますますピアノードに似てきています。
Kafka には、トピックとパーティションの分布を表示するために使用できる kafka-metadata-shell.sh というツールも用意されています。この情報は元々 zk を通じて入手できましたが、現在はこのコマンド ラインを使用して取得できます。
最後に、現時点ではオンライン環境でこの機能を有効にせず、ZK のみを使用する必要があることをお知らせします。その理由は機能性にあります。これらの機能をサポートするインフラストラクチャが整備されておらず、コードが信頼できるレベルに達していないためです。使用すると、不完全なツールや難しいバグのせいで、おそらく惨めな思いをすることになるだろう。 しかし、この勇気ある第一歩はすでに踏み出され、方向性も示されており、私たちに残されたのは待つことだけです。いずれにせよ、Zk を取り除くのは良いことです。 著者について: Sister Taste (xjjdog)、プログラマーが寄り道をすることを許可しない公開アカウント。インフラストラクチャと Linux に重点を置きます。 10 年間のアーキテクチャと 1 日あたり数千億のトラフィックを基に、私たちはお客様とともに高並行性の世界を探求し、新たな体験をお届けします。私の個人WeChatはxjjdog0です。今後のコミュニケーションのために、私を友達として追加してください。 |
<<: スマート交通におけるエッジコンピューティングの応用に関する簡単な分析
>>: SaaS をサービスの観点から見ると何がわかるでしょうか?
ウェブサイトがどの開発段階に達していても、サイトの外部リンクを確立することは重要なタスクです。この記...
ヴィクトル・クズミン【淘宝網との協力により、2011年にロシア市場における中国製品に対する需要は4倍...
数多くの新興プラットフォームが、最も魅力的な IT 機能を可能な限り低コストで提供しているため、企業...
7月に日本大阪で新独立サーバー「Weixiang Host」がオープン(国内電信、聯通、移動、すべて...
クラウド サービス プロバイダーの概要: AWS はサーバーの減価償却期間を 3 年から 4 年に延...
会社は新人のシャオユアンに、分散ロックの使用を必要とする、シャオユアンにとって難しい、輝かしい困難な...
今年設立した新しい事業、hostmem!ローエンドかつ安価な VPS が 2 つあります。クラシック...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますこのほど、...
Hostingsource.com は、ホスティング事業で約 20 年の経験があります。現在、ニュー...
2020 年には、マルチクラウド分野では、マルチクラウド管理、「ブティック」クラウド、AI/機械学習...
新しいブランドが新たな成長機会をもたらしています。最近、私は多くの業界サミットに出席しました。ブラン...
Discuz! 愛好者ネットワークが4月17日に報道(文/ウェブマスターのAjian)Ajianは4...
7月23日、Antグループの新しいAnt Chain発表イベントで、Ant Chainオールインワン...
Shuhost 8月のプロモーション:香港独立サーバー、自社運営のBGP、CN2 + BGP、Ali...
ある弁護士は、中国ではBMCモデルに関する具体的な法的定義はなく、依然として境界上にあると述べた。 ...