5.15. Apache Kafka reactive サンプルの仕組み
このサンプルアプリケーションは、Apache Kafka を使用して実装された Publisher-Subscriber メッセージストリーミングパターンに基づいています。アプリケーションで設定されるコンポーネントは、以下のとおりです。
-
ログメッセージプロデューサーおよびコンシューマーをインスタンス化する
KafkaExampleApplication
クラス - Spring Boot HTTP Starter によって設定され、提供される WebFlux HTTP コントローラー。コントローラーは、メッセージの公開および読み取りに使用される残りのリソースを提供します。
-
プロデューサーが Kafka の
log
トピックにメッセージを公開する方法を定義するKafkaLogger
クラス。 -
Kafka の
log
トピックからサンプルアプリケーションが受け取るメッセージを表示するKafkaLog
クラス。
メッセージを公開します。
- ログメッセージをペイロードとして使用して、サンプルアプリケーションに対して HTTP POST 要求を実行します。
- HTTP コントローラーはメッセージを公開するのに使用される REST エンドポイントにルーティングし、そのメッセージをロガーインスタンスに渡します。
-
HTTP コントローラーは、受け取ったメッセージを Kafka の
log
トピックに公開します。 - KafkaLog インスタンスは、Kafka トピックからログメッセージを受け取ります。
メッセージの読み取り:
-
HTTP
GET
リクエストをサンプルアプリケーション URL に送信します。 -
コントローラーは
KafkaLog
インスタンスからメッセージを取得し、HTTP 応答のボディーとして返します。