この記事はWeChatの公開アカウント「Coder Reading」から転載したもので、著者はCoder Readingです。この記事を転載する場合は、Coder Reading の公開アカウントにご連絡ください。 Kafka は、オープンソースで分散型、スケーラブル、高性能なパブリッシュ/サブスクライブ メッセージング ミドルウェアです。大量のデータを処理するシステムを構築したい場合、Kafka は非常に良い選択肢になります。この記事では、Kakfa に基づいてパブリッシュ/サブスクライブ プログラムを構築する方法について説明します。 Kafka アーキテクチャ このセクションでは、まず Kafka のインフラストラクチャと関連する用語について見てみましょう。一般的に、Kafka は次のコンポーネントで構成されています。
Kafka では、データの基本単位はキーと値のペアであるメッセージです。 Kafkaはすべてのメッセージをbyte[]に変換します。プロデューサー、コンシューマー、クラスターはすべて TCP プロトコルを使用して通信することに注意してください。 Kafka クラスター内の各マシンはブローカーと呼ばれます。クラスターにマシンを簡単に追加して、容量の水平拡張を実現できます。 次の図は、Kafka の基本的なアーキテクチャを示しています。 Kafka のトピックはメッセージの論理的なコレクションを表します。わからない場合は、トピックをカテゴリとして考えることができます。カテゴリの下には自然に分類されたメッセージがあり、これらのメッセージはプロデューサーによって生成されます。 Kafka サーバーには 1 つ以上のトピックが含まれ、各トピックには 1 つ以上のパーティションを含めることができます。パーティションは、順序付けられたメッセージのシーケンスとして定義されます。パーティションが Kafka の動的拡張の鍵となることは注目に値します。つまり、パーティションを複数の Kafka サーバーに分散できます。具体的な操作プロセスは、Kafka のプロデューサーが指定されたトピックにメッセージをプッシュし、トピックをサブスクライブしているコンシューマーがメッセージを取得できることです。 Kafka と RabbitMQ の比較 Kafka と RabbitMQ はどちらも非常に人気のあるオープンソースのメッセージ ミドルウェアです。では、RabbitMQ ではなく Kakfa を選択すべきなのはどのような場合でしょうか?主な考慮事項は次のとおりです。
生産者と消費者の育成 このセクションでは、Kafka のプロデューサーとコンシューマーを構築する方法について説明します。これには、それぞれの役割を果たす 2 つのコンソール プログラムを構築する必要があります。 nuget を使用して kafka-net をインストールできます。コマンドは次のとおりです。
プロデューサーコンソールを構築する
消費者向けコンソールを構築する
最後に、プロデューサー プログラムとコンシューマー プログラムを順番に起動すると、「Welcome to Kafka!」というメッセージが表示されます。コンシューマー コンソールに表示されます。 実際、オープンソースの世界には、RabbitMQ、MSMQ、IBM MQ Series など、メッセージ ミドルウェアが数多く存在します。現在、Kafka はメッセージ ミドルウェアであるだけでなく、ビッグ データ用のストリーミング処理プラットフォームでもあります。 Kafka は、IoT プログラム、ログ集約、その他の低レイテンシで強力なメッセージ保証のシナリオでもよく使用されます。アプリケーションに高速かつスケーラブルなメッセージ ミドルウェアが必要な場合は、Kafka が最適な選択肢となります。 Kafka に関する記事を後ほど共有します。 ネットでApache Kafkaメッセージングを使用する方法 |
<<: IoT アナリティクス: 製造業者の 3 分の 1 がソフトウェアをクラウドに移行する予定
>>: 分散ストレージの技術動向(I):3つのレプリカの欠点
多くのウェブマスターは、キーワードの変化が速すぎて不安定になることを懸念しています。苦労して最適化し...
新浪科技は3月22日夜、脆弱性報告プラットフォームWuyun.comが本日公式サイトでネットワークセ...
GouCloudは、年半ばの618特別割引プロモーションを開始しました。すべてのエラスティッククラウ...
新華社通信によると、近年、一部のウェブサイトが「権利保護」や「汚職撲滅」の名目で人々を騙し、恐喝など...
ランキングのために生まれ、ランキングのために死ぬ。この文章は医療業界における SEO を説明するのに...
本稿では、ハイパーテキスト アプリケーションで広く使用されている大規模検索エンジンのプロトタイプであ...
6月9日、Kexun.comはシステムメンテナンスのお知らせを発表した。6月10日、Kexun.co...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスSEO担当者として、ウェ...
[[325305]]この記事では、Java 仮想マシン (JVM) の内部アーキテクチャについて説明...
Admin5は9月27日、ドメイン名業界関係者がウェブマスターネットワークに、トップ3桁のドメイン名...
2011 年に急成長を遂げた後、共同購入 Web サイトは 2012 年に重要な時期を迎えました。現...
Baidu が自社の製品に非常に高い比重を置いていることは、誰もが知っています。よく使われる製品には...
[[346590]]著者は、正確にスケジュールされたタスクと遅延キュー処理機能を備えた、高同時実行シ...
コア視点モバイル電子商取引ユーザーの成長率は大幅に低下しました。電子商取引市場におけるGMVの成長率...
Telstra、Triple A Super、CWT Globelink、一橋大学など、アジアではま...