Azure Event Hubs を検出する
Azure Event Hubs はクラウドにあるネイティブのデータ ストリーミング サービスで、任意のソースから任意の宛先に短い待機時間で、1 秒あたり数百万個のイベントをストリーミングできます。 Event Hubs は Apache Kafka と互換性があります。 コードを変更することなく既存の Kafka ワークロードを実行できます。
Event Hubs を使用すると、ストリームの取り込み、バッファー、格納、処理をリアルタイムで行い、実用的な分析情報を取得できます。 Event Hubs は、パーティション分割されたコンシューマー モデルを使います。 これは、複数のアプリケーションがストリームを同時に処理することを可能にし、処理の速度を制御できるようにします。 Event Hubs はサーバーレス アーキテクチャのために Azure Functions とも統合します。
業界標準の AMQP 1.0 プロトコルに対して、広範なエコシステムを利用できます。 .NET、Java、Python、JavaScript などの言語で SDK を利用できるため、Event Hubs でストリームの処理を開始できます。 サポートされているすべてのクライアント言語が、低レベルの統合を提供します。
主な機能
次のセクションで、Azure Event Hubs の主要な機能について説明します。
Azure Event Hubs で Apache Kafka を使用する
Event Hubs は、Advanced Message Queuing Protocol (AMQP)、Apache Kafka、HTTPS プロトコルをネイティブにサポートするマルチプロトコル イベント ストリーミング エンジンです。 Apache Kafka がサポートされているため、コードを変更することなく、Kafka ワークロードを Event Hubs に取り込むことができます。 独自の Kafka クラスターを設定、構成、管理したり、Azure にネイティブではない "サービスとしての Kafka" オファリングを使用したりする必要はありません。
Event Hubs のスキーマ レジストリ
Event Hubs の Azure スキーマ レジストリには、イベント ストリーミング アプリケーションのスキーマを管理するための一元化されたリポジトリが用意されています。 スキーマ レジストリには、すべての Event Hubs 名前空間が無料で用意されています。 これは、Kafka アプリケーションまたは Event Hubs の SDK ベースのアプリケーションと統合します。
Stream Analytics を使用したストリーミング イベントのリアルタイム処理
Event Hubs は Azure Stream Analytics と統合して、リアルタイムのストリーム処理を可能にします。 組み込みのノーコード エディターを使用すると、コードを記述せずにドラッグ アンド ドロップ機能を使用して Stream Analytics ジョブを開発できます。
また、開発者が SQL ベースの Stream Analytics クエリ言語を使用してリアルタイム ストリーム処理を実行し、ストリーミング データを分析するためのさまざまな関数を利用することもできます。
主要な概念
Event Hubs には次の主要コンポーネントが含まれます。
- プロデューサー アプリケーション: このアプリケーションは、Event Hubs SDK または Kafka プロデューサー クライアントを使用して、イベント ハブにデータを取り込むことができます。
- 名前空間: 1 つ以上のイベント ハブまたは Kafka トピックの管理コンテナーです。 ストリーミング容量の割り当て、ネットワーク セキュリティの構成、geo ディザスター リカバリーの有効化などの管理タスクは、名前空間レベルで処理されます。
- Event Hubs/Kafka トピック: Event Hubs では、イベントをイベント ハブまたは Kafka トピックにまとめることができます。 これは追加専用の分散ログで、1 つ以上のパーティションで構成できます。
- パーティション: これは、イベント ハブのスケーリングに使用されます。 これは高速道路の車線のようなものです。 ストリーミング スループットを増やす必要がある場合は、パーティションを追加できます。
- コンシューマー アプリケーション: このアプリケーションは、イベント ログをシークし、コンシューマー オフセットを維持することによりデータを使用できます。 コンシューマーには、Kafka コンシューマー クライアントまたは Event Hubs SDK クライアントを指定できます。
- コンシューマー グループ: このコンシューマー インスタンスの論理グループは、イベント ハブまたは Kafka トピックからデータを読み取ります。 こうすることで、複数のコンシューマーが、イベント ハブ内の同じストリーミング データを、独自のペースで独自のオフセットによって別々に読み取ることができます。