Azure Event Hubs を検出する
Azure Event Hubs は、イベント パイプラインの "フロンとドア" であり、多くの場合、ソリューション アーキテクチャの "イベント インジェスター" と呼ばれます。 イベント取り込みとは、イベント ストリームの生成とそのようなイベントの消費とを分離するために、イベント パブリッシャーとイベント コンシューマーとの間に置かれるコンポーネントやサービスです。 Event Hubs は、時間保持バッファーを備えた統合ストリーミング プラットフォームを提供し、イベント プロデューサーをイベント コンシューマーから切り離します。
次の表に、Azure Event Hubs サービスの主な機能を示します。
機能 | 説明 |
---|---|
フル マネージド PaaS | Event Hubs は構成または管理のオーバーヘッドがほとんどないフル マネージドの PaaS (サービスとしてのプラットフォーム) なので、ユーザーはビジネス ソリューションに集中できます。 Apache Kafka エコシステム向けの Event Hubs では PaaS Kafka エクスペリエンスが提供され、独自のクラスターを管理、構成、実行する必要はありません。 |
リアルタイムおよびバッチ処理 | Event Hubs はパーティション分割されたコンシューマー モデルを使用して、複数のアプリケーションがストリームを同時に処理し、処理の速度を制御できるようにします。 |
イベント データをキャプチャする | 長期保有またはマイクロ バッチ処理のために、準リアルタイムでデータを Azure Blob Storage または Azure Data Lake Storage にキャプチャします。 |
拡張性 | 自動インフレなどのスケーリング オプションでは、使用状況のニーズに合わせてスループット ユニットの数をスケーリングします。 |
充実したエコシステム | Apache Kafka エコシステム向けの Event Hubs により、Apache Kafka (1.0 以降) のクライアントとアプリケーションは Event Hubs と通信できます。 独自に Kafka クラスターをセットアップ、構成、管理する必要はありません。 |
主要な概念
Event Hubs には次の主要コンポーネントが含まれます。
- Event Hubs クライアントは、Event Hubs クライアント ライブラリとやりとりする開発者向けのプライマリ インターフェイスです。 複数の異なる Event Hubs クライアントがあり、イベントの発行や使用など、Event Hubs の特定の用途にそれぞれ使われます。
- Event Hubs プロデューサーは、テレメトリ データ、診断情報、使用状況ログ、他のログ データのソースとして機能するクライアントの一種であり、埋め込みデバイス ソリューション、モバイル デバイス アプリケーション、コンソールまたは他のデバイスで実行されているゲーム タイトル、一部のクライアントまたはサーバー ベースのビジネス ソリューション、または Web サイトの一部として機能します。
- Event Hubs コンシューマーは、Event Hubs から情報を読み取って、それを処理できるようにするクライアントの種類です。 処理には、集計、複雑な計算、フィルター処理が含まれる場合があります。 生データまたは変換された形式で情報を配布または保存する処理が含まれる場合もあります。 Event Hubs コンシューマーは、多くの場合、Azure Stream Analytics、Apache Spark などの組み込みの分析機能を備えた、堅牢で大規模なプラットフォーム インフラストラクチャ パーツです。
- パーティションは、Event Hubs に保持される順序付けされた一連のイベントです。 パーティションは、イベント コンシューマーに必要な並列処理に関連付けられたデータ編成の手段です。 Azure Event Hubs では、パーティション分割されたコンシューマー パターンを介してメッセージ ストリーミングを提供し、各コンシューマーがメッセージ ストリームの特定のサブセット (パーティション) のみを読み取ります。 新しいイベントが到着すると、このシーケンスの末尾に追加されます。 パーティションの数は、Event Hubs の作成時に指定し、変更することはできません。
- コンシューマー グループは、Event Hubs 全体のビューです。 コンシューマー グループを使用すると、複数のコンシューマー アプリケーションが個別のイベント ストリーム ビューを持つことができるようになり、それぞれの場所から独自のペースでストリームを個別に読み取ることができます。 コンシューマー グループあたり最大 5 つのリーダーをパーティションに同時に設定できますが、特定のパーティションとコンシューマー グループの組み合わせには、アクティブな 1 つのコンシューマーのみをお勧めします。 各アクティブ リーダーでは、そのパーティションからすべてのイベントを受け取ります。同じパーティションに複数のリーダーがある場合は、重複するイベントを受信します。
- イベント レシーバー: Event Hubs からイベント データを読み取るエンティティ。 Event Hubs のすべてのコンシューマーは、AMQP 1.0 セッションを介して接続します。 Event Hubs サービスは、イベントが利用可能になると、セッションを通じてそれらを配信します。 すべての Kafka コンシューマーは、Kafka プロトコル 1.0 以降を通じて接続します。
- スループット ユニットまたは処理ユニット: Event Hubs のスループット容量を制御する、購入前の容量の単位。
次の図は、Event Hubs ストリーム処理のアーキテクチャを示しています。