プロダクションから Kafka へのメッセージの送信
InterSystems IRIS は、相互運用プロダクションに Kafka 送信アダプタを使用するビジネス・オペレーションが含まれる場合に Kafka プロデューサになります。このアダプタにより、ビジネス・オペレーションは Kafka トピックにメッセージを送信できます。プロダクションを Kafka プロデューサとして使用する場合には、送信アダプタを利用する組み込みのビジネス・オペレーションを使用する、またはアダプタを使用する独自のビジネス・オペレーションを構築するという、2 つのオプションがあります。
アダプタの詳細
Kafka 送信アダプタは、クラス EnsLib.Kafka.OutboundAdapterOpens in a new tab です。これには以下の設定が含まれており、これらはすべて、管理ポータルにアダプタを使用するビジネス・オペレーションの設定として表示されます。
-
Servers は、Kafka ブローカ・クラスタ内のサーバを指定する、コンマ区切りの IP address:port エントリのリストを定義します。
-
ClientID は、プロデューサの Kafka クライアント ID を定義します。
-
Credentials は、Kafka クライアントのユーザ名とパスワードに対応するインターシステムズ認証情報を定義します。認証情報の作成の詳細は、"設定で使用する再利用可能項目の定義" を参照してください。
-
SecurityProtocol は、Kafka ブローカ・クラスタへの接続を保護するセキュリティ・プロトコルを指定します。現在、このプロパティは以下の 2 つの値をサポートしています。
-
SASL_PLAINTEXT。これは、暗号化されていないチャンネルでクライアントの SASL 認証を実行します。
-
SASL_SSL。指定したトラストストアとキーストアの情報を使用して、SASL 認証が行われる SSL/TLS 接続を確立します。
-
-
SASLMechanism は、Credentials によって指定された認証情報を使用してプロデューサを認証するために使用される SASL 認証メカニズムを指定します。現在、PLAIN のみがサポートされています。
-
TrustStoreLocation (オプション) は、Kafka ブローカ・クラスタからの証明書を検証し、SSL/TLS 接続を確立するために必要な認証局の証明書を含むトラストストアへのファイル・システム・パスを指定します。
-
TrustStoreCredentials (オプション) は、truststorelocation で指定された場所にあるトラストストアへのパスワードで保護されたアクセスを取得するために使用できる InterSystems 認証情報を定義します。
-
KeyStoreLocation (オプション) は、Kafka ブローカ・クラスタとの SSL/TLS 接続を確立するために必要なキーを含むキーストアへのファイル・システム・パスを指定します。
-
KeyStoreCredentials (オプション) は、keystorelocation で指定された場所にあるキーストアへのパスワードで保護されたアクセスを取得するために使用できる InterSystems 認証情報を定義します。
-
KeyCredentials (オプション) は、keystorelocation で指定された場所にあるキーストア内の秘密鍵へのパスワードで保護されたアクセスを取得するために使用できる InterSystems 認証情報を定義します。
送信アダプタを使用するカスタムのビジネス・オペレーションの構築に関する一般情報は、"ビジネス・オペレーションの定義" を参照してください。
Kafka メッセージの送信
送信アダプタにより Kafka に送信されるメッセージのクラスは EnsLib.Kafka.MessageOpens in a new tab です。これには、以下のプロパティが含まれます。
-
topic は、プロデューサがメッセージを送信する Kafka トピックを定義します。
-
value (%String) は、Kafka メッセージのコンテンツを定義します。value が設定されている場合、binaryValue は設定しないでください。
-
binaryValue (任意の長さのバイナリ・ストリーム) は、メッセージの長さが %String の最大長を超える場合の、Kafka メッセージのコンテンツを定義します。binaryValue が設定されている場合、value は設定しないでください。
-
key は、Kafka メッセージのオプションのタグを定義します。
送信アダプタの SendMessage() メソッドは、唯一の引数として EnsLib.Kafka.MessageOpens in a new tab オブジェクトを取り、そのメッセージを Kafka サーバに送信します。例えば、カスタムのビジネス・オペレーションは、以下を含めることにより、アダプタのメソッドを呼び出すことができます。
Do ..Adapter.SendMessage(pRequest)
組み込みのビジネス・オペレーション
送信アダプタを使用するカスタムのビジネス・オペレーションを構築するのではなく、管理ポータル設定を使用して、プロダクションに単に EnsLib.Kafka.OperationOpens in a new tab を追加し、アダプタのプロパティを定義するだけです。このビジネス・オペレーションは、プロダクション内の別のビジネス・ホストから要求を受信すると、アダプタの SendMessage() メソッドを呼び出します。この要求には、EnsLib.Kafka.MessageOpens in a new tab のタイプの Kafka メッセージを含める必要があります。
ビジネス・オペレーションのプロダクションへの追加に関する基本情報は、"ビジネス・ホストの追加" を参照してください。
関連項目
-
Kafka メッセージング API の使用法 (プロダクションなしで使用する場合)