Apache Kafka チュートリアルでは、Apache Kafka の基本概念と高度な概念を説明します。このチュートリアルは初心者と専門家の両方を対象に設計されています。
Apache Kafka は、リアルタイム データ ストレージの処理に使用されるオープンソースのストリーム処理ソフトウェア プラットフォームです。これは、送信者と受信者の 2 者間の仲介者として機能します。 1 日に約兆件のデータ イベントを処理できます。
Apache Kafka のチュートリアルでは、そのアーキテクチャからコア概念までのすべての概念をカバーします。
Apache Kafkaとは何ですか
Apache Kafka は、分散ストリーミング プロセスに基づくソフトウェア プラットフォームです。これは、アプリケーション、サーバー、プロセッサ間でのデータ交換も可能にするパブリッシュ/サブスクライブ メッセージング システムです。 Apache Kafka は元々、次のように開発されました。 リンクトイン 、その後、Apache Software Foundation に寄付されました。現在、それはによって維持されています 合流 Apache Software Foundation の下で。 Apache Kafka は、送信者と受信者間のデータ通信の無気力な問題を解決しました。
メッセージングシステムとは何ですか
メッセージング システムは、2 人以上の人、デバイスなどの間での単純なメッセージ交換です。パブリッシュ/サブスクライブ メッセージング システムでは、送信者がメッセージを送信/書き込みし、受信者がそのメッセージを読み取ることができます。 Apache Kafka では、送信者は プロデューサー メッセージを発行する人、受信者は 消費者 メッセージを購読して消費する人。
ストリーミング処理とは
ストリーミング プロセスは、並列接続されたシステムでのデータの処理です。このプロセスにより、さまざまなアプリケーションでデータの並列実行を制限でき、1 つのレコードが前のレコードの出力を待たずに実行されます。したがって、分散ストリーミング プラットフォームを使用すると、ユーザーはストリーミング プロセスと並列実行のタスクを簡素化できます。したがって、Kafka のストリーミング プラットフォームには次の主要な機能があります。
100万にはゼロが何個
- レコードのストリームが発生するとすぐにそれを処理します。
- これは、レコードのストリームを発行および購読するエンタープライズ メッセージング システムと同様に機能します。
- レコードのストリームをフォールトトレラントで耐久性のある方法で保存します。
Apache Kafka を学び理解するには、志望者は次の 4 つのコア API を知っている必要があります。
プロデューサー API: この API は、アプリケーションがレコードのストリームを 1 つ以上のトピックに公開できるようにします。 (後のセクションで説明します)
コンシューマ API: この API を使用すると、アプリケーションは 1 つ以上のトピックをサブスクライブし、トピックに対して生成されたレコードのストリームを処理できます。
ストリームAPI: この API を使用すると、アプリケーションは入力ストリームを出力ストリームに効果的に変換できます。これにより、アプリケーションは 1 つ以上のトピックからの入力ストリームを消費し、1 つ以上の出力トピックへの出力ストリームを生成するストリーム プロセッサとして機能することができます。
コネクタAPI: この API は、既存のデータ システムまたはアプリケーションを使用して、再利用可能なプロデューサー API とコンシューマー API を実行します。
Apache Kafka を使用する理由
Apache Kafka は、Apache Kafka の必要性を最もよく説明する次の理由を持つソフトウェア プラットフォームです。
- Apache Kafka は、1 秒あたり数百万のデータまたはメッセージを処理できます。
- Apache Kafka は、ソース システムとターゲット システムの間の仲介者として機能します。したがって、ソース システム (プロデューサー) のデータは Apache Kafka に送信され、そこでデータが分離され、ターゲット システム (コンシューマー) が Kafka からのデータを消費します。
- Apache Kafka は非常に高いパフォーマンスを持っています。つまり、遅延値が 10 ミリ秒未満と非常に低く、これは Apache Kafka が十分に精通したソフトウェアであることを証明しています。
- Apache Kafka は、データ共有における異常な複雑さを解決した回復力のあるアーキテクチャを備えています。
- NETFLIX、UBER、Walmart などの組織や数千を超えるそのような企業が Apache Kafka を利用しています。
- Apache Kafka はフォールト トレランスを維持できます。フォールト トレランスとは、プロデューサーによって配信されたメッセージをコンシューマーが正常に消費できる場合があることを意味します。ただし、バックエンド データベースの障害、またはコンシューマ コードにバグが存在するため、コンシューマはメッセージの処理に失敗します。このような状況では、コンシューマーはメッセージを再度使用することはできません。その結果、Apache Kafka はデータを再処理することで問題を解決しました。
- カフカを学ぶことは良い収入源です。なので、将来的にIT分野で収入を上げたい人は学ぶことができます。
前提条件
志望者は、Java プログラミングの基本的な知識と、Linux コマンドのある程度の知識を持っている必要があります。
観客
この Apache Kafka の旅は、初心者、開発者、新しいことを学びたい人を対象に設計されています。
問題点
この Apache Kafka チュートリアルでは問題が見つからないことを保証します。ただし、間違いがある場合は、お問い合わせフォームに問題を投稿してください。