メイン コンテンツにスキップ

Azure Event Hubs に対応した Spring Cloud Stream Binder を使用したイベント ドリブン Java

2019年4月3日 に投稿済み

Principal PM Architect, Java on Azure

Azure Event Hubs に対応した Spring Cloud Stream Binder の一般提供が開始されました。Spring Cloud Stream と Event Hubs を使用して高度にスケーラブルなイベント ドリブン Java アプリを簡単に構築できます。Event Hubs は、Azure におけるフル マネージドのリアルタイム データ インジェスト サービスで、どのような状況でも高い回復性と信頼性を提供します。geo ディザスター リカバリーおよび geo レプリケーション機能により、緊急事態にも対応できます。

Spring Cloud Stream は、一般的なメッセージ ブローカー実装にバインダーの抽象化を提供します。これにより、一貫性のある pub/sub セマンティクス、コンシューマー グループ、ステートフル パーティションのサポートを含む、既に確立された一般的な Spring 語法とベスト プラクティスに基づく柔軟なプログラミング モデルが提供されます。そのため、開発者は、Event Hubs を使用して Java アプリを構築する際に同じパターンを使用できるようになります。

Azure Event Hubs と Spring アプリのグラフィックス

使用を開始するには 

チュートリアル「Azure Event Hubs を使用する Spring Cloud Stream Binder アプリケーションを作成する方法」を確認して、Spring Boot Initializer と Azure Event Hubs を使用して Java ベースの Spring Cloud Stream Binder アプリケーションを作成します。Azure portal に移動して、新しい Event Hubs 名前空間を作成します。次の Maven の依存関係を Java プロジェクトに追加します。 

<dependency>
     <groupId>com.microsoft.azure</groupId>
     <artifactId>spring-cloud-azure-eventhubs-stream-binder</artifactId>
     <version>1.1.0.RC4</version>
</dependency>

メッセージを発行する

@EnableBinding(Source.class) を使用してソース クラスに注釈を設定し、Spring Cloud Stream のパターンを使用して Event Hubs にメッセージを発行します。構成によってソースの出力チャネルをカスタマイズすることができます。

  • 発行先: 出力チャネルと接続するイベント ハブを指定します。
  • 同期/非同期: メッセージを生成するモードを指定します。

メッセージをサブスクライブする 

@EnableBinding(Sink.class) を使用してシンク クラスに注釈を設定し、Event Hubs からのメッセージを使用します。構成によって入力チャネルをカスタマイズすることもできます。完全な一覧が必要な場合は、「Azure Event Hubs を使用する Spring Cloud Stream Binder アプリケーションを作成する方法」を参照してください。

  • 発行先: 入力チャネルとバインドするイベント ハブを指定します。
  • コンシューマー グループ: メッセージを受信するコンシューマー グループを指定します。

Azure Event Hubs に対応した Spring Cloud Stream Binder を使用してイベント ドリブン Java アプリの構築を試みる 

Azure Event Hubs で Spring Cloud Stream Binder を使用した Java アプリの構築をお試しになり、メールまたは下のコメントからご感想をお寄せください。

関連情報