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

2019年4月3日 に投稿済み

Principal Program Manager, Azure Developer Experience

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 アプリの構築をお試しになり、メールまたは下のコメントからご感想をお寄せください。

関連情報