第1章 開発中のクライアントの概要
メッセージの生成、メッセージの消費、またはその両方を実行できる、Streams for Apache Kafka インストール用の Kafka クライアントアプリケーションを開発します。OpenShift 上の Streams for Apache Kafka または Streams for Apache Kafka on RHEL で使用するクライアントアプリケーションを開発できます。
メッセージは、オプションのキー、メッセージデータを含む値、さらにヘッダーと関連メタデータで設定されます。キーはメッセージの件名、またはメッセージのプロパティーを識別します。メッセージのグループを送信時と同じ順序で処理する必要がある場合は、同じキーを使用する必要があります。
メッセージはバッチで配信されます。メッセージには、メッセージのタイムスタンプやオフセット位置など、クライアントによるフィルタリングやルーティングに役立つ詳細を提供するヘッダーとメタデータが含まれています。
Kafka は、クライアントアプリケーションを開発するためのクライアント API を提供します。Kafka プロデューサー API とコンシューマー API は、クライアントアプリケーションで Kafka クラスターとやりとりする主な手段です。API はメッセージのフローを制御します。プロデューサー API は Kafka トピックにメッセージを送信し、コンシューマー API はトピックからメッセージを読み取ります。
Streams for Apache Kafka は、Java で記述されたクライアントをサポートします。クライアントをどのように開発するかは、特定のユースケースによって異なります。データの耐久性が優先される場合や、高スループットが優先される場合があります。これらの要求は、クライアントとブローカーの設定を通じて満たすことができます。ただし、すべてのクライアントは、特定の Kafka クラスター内のすべてのブローカーに接続できる必要があります。
1.1. HTTP クライアントのサポート
クライアントで Kafka プロデューサー API とコンシューマー API を使用する代わりに、Streams for Apache Kafka Kafka Bridge をセットアップして使用できます。Kafka Bridge では、HTTP ベースのクライアントと Kafka クラスターとの対話を可能にする RESTful インターフェイスが提供されます。これは、Kafka プロトコルを解釈する必要があるクライアントアプリケーションを必要とせずに、Strimzi への Web API 接続の利点を提供します。Kafka は TCP 経由でバイナリープロトコルを使用します。
詳細は、Streams for Apache Kafka Kafka Bridge の使用 を 参照してください。