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 応答のボディーとして返します。