最新の安定バージョンについては、spring-cloud-stream 5.0.0 を使用してください。

永続的なパブリッシュ / サブスクライブのサポート

アプリケーション間の通信は、データが共有トピックを通じてブロードキャストされるパブリッシュ / サブスクライブモデルに従います。これは、相互作用する Spring Cloud Stream アプリケーションのセットの典型的なデプロイを示す次の図で確認できます。

SCSt sensors
図 1: Spring Cloud Stream パブリッシュ / サブスクライブ

センサーによって HTTP エンドポイントに報告されたデータは、raw-sensor-data という名前の共通の宛先に送信されます。宛先からは、時間枠の平均を計算するマイクロサービスアプリケーションと、生データを HDFS(Hadoop 分散ファイルシステム)に取り込む別のマイクロサービスアプリケーションによって個別に処理されます。データを処理するために、両方のアプリケーションは実行時にトピックを入力として宣言します。

パブリッシュ / サブスクライブ通信モデルは、プロデューサーとコンシューマーの両方の複雑さを軽減し、既存のフローを中断することなく、新しいアプリケーションをトポロジーに追加できるようにします。例: 平均計算アプリケーションの下流に、表示と監視のために最高温度値を計算するアプリケーションを追加できます。次に、障害検出のために同じ平均フローを解釈する別のアプリケーションを追加できます。ポイントツーポイントキューではなく共有トピックを介してすべての通信を行うと、マイクロサービス間の結合が減少します。

パブリッシュ / サブスクライブメッセージングの概念は新しいものではありませんが、Spring Cloud Stream は、アプリケーションモデルに対して柔軟な選択肢にするという追加のステップを踏んでいます。ネイティブミドルウェアサポートを使用することにより、Spring Cloud Stream は、さまざまなプラットフォーム間でのパブリッシュ / サブスクライブモデルの使用も簡素化します。