Interact Triggered Message Integration with Apache Kafka の翻訳版です。
HCL Unica: Interact Triggered Message と Apache Kafka の統合
2021年10月21日
著者: Deepali Kalavade / Senior Technical Lead
Unica Interact Triggered Message機能は、ほとんどのお客様にご利用いただいている人気のモジュールです。Triggered Messageルールが有効になると、対応するMarketingメッセージがDispatcherに送信され、Outbound Gatewayに送られます。
同様に、インバウンド・ゲートウェイの場合、メッセージはアクティビティ・オーケストレーターのレシーバー・キューに到着します。Unica 12.0以降、Interactは、InteractゲートウェイのDispatcherとReceiverのメッセージキューとして使用できるオプションとして「Kafka」を導入しました。Apache Kafkaは、Interactとサードパーティシステム間の通信チャネルとして機能するIBM MQの代替として導入されました。
ここでは、InteractにおけるKafkaの設定について詳しく見ていきましょう。
アウトバウンドゲートウェイを構成するためには、まずディスパッチャを作成する必要があります。このディスパッチャには、以下のタイプがあります。InMemoryQueue、JMSQueue、Custom、Kafka のいずれかです。
タイプがKafkaの場合、以下のパラメータは必須です。
providerUrl: Kafkaクラスターへの初期接続の確立に使用するホスト/ポートペアのリスト。このリストは、host1:port1,host2:port2,..... の形式でなければなりません。 例:値は「server1:9092」とすることができ、「server1」はKafkaサーバーの名前です。
topicです。Kafkaサーバーで使用されるトピック名です。トピックとは、メッセージが保存・公開されるカテゴリーやフィード名のことです。すべてのKafkaメッセージはトピックに整理されます。 トピック名には、ASCIIの英数字、'.'、''、'-'を含める必要があります。トピック名には制限があるため、ピリオド('.')またはアンダースコア('')を使ったトピックを使用することができます。トピック名の最大長は255文字までです。
zookeeper.connect: zookeeper の接続文字列を hostname: port の形式で指定する。hostname と port は、ZooKeeper サーバのホストとポートである。 例:"server1:2181" (server1 は zookeeper サーバの名前)。
認証を行います。ユーザーは、さまざまな認証メカニズムを有効にすることで、Kafkaを利用することができます。 デフォルトでは、Kafkaサーバーはいかなる認証メカニズムもサポートしていません。ユーザーは、認証メカニズムが無効であることを考慮してKafkaサーバーを起動することができます。この場合、ユーザーは「認証」パラメーターに「None」という値を設定できます。 サポートされる値は、none、Plain、SSL、SASL_SSLです。
認証にはasmUserforMQAuth/authDSまたはユーザー名/パスワードのいずれかのパラメータを使用できます。authDSを使用する場合は、プラットフォーム構成のUserセクションでデータソース(authDS)を作成する必要があります。
データソース(SSLKeystoreDS、SSLKeyDS、SSLTruststoreDS)は、プラットフォーム構成の「User」セクションで作成する必要があります。これらのデータソースには、お客様の環境に合わせてユーザー名とパスワードを設定してください。
データソース(authDS、SSLKeystoreDS、SSLKeyDS、SSLTruststoreDS)は、プラットフォーム構成の「ユーザー」セクションで作成する必要があります。認証にはasmUserforMQAuth/authDSまたはusername/passwordパラメータを使用できます。
上記のパラメータに加えて、InteractはDispatcher用に以下の追加パラメータをサポートしていますが、これらは完全にオプションです。
acks。acks: acksコンフィグは、リクエストが完了したとみなされる基準を制御します。all "に設定すると、レコードのフルコミットをブロックします。
retries: リクエストが失敗した場合、プロデューサーはリトライすることができます。指定されたリトライは0に設定されているため、リトライはできません。リトライを有効にすると、重複してしまうことがあります。
batch.size: 複数のレコードをバッチ処理してパーティションに送信する際のデフォルトのバッチサイズをバイト単位で指定します。
linger.ms: * linger.ms: 送られてきたレコードをまとめて送信できるように、プロデューサーは指定された遅延時間まで他のレコードが送信されるのを待ちます。
buffer.memory: buffer.memory:プロデューサーが、サーバーへの送信待ちのレコードをバッファリングするために使用できるメモリの総バイト数です。
上記パラメーターのデフォルト値とサンプル値を以下の表に示します。
インバウンドゲートウェイを構成するためには、まずレシーバーを作成する必要があります。このレシーバーには、タイプがあります。CustomまたはKafkaです。タイプが Kafka の場合、以下のパラメータが必須となります。
例:値は「server1:9092」とすることができ、「server1」はKafkaサーバーの名前です。
ディスパッチャーとレシーバーのトピックは別々にしてください。
例: "server1:2181" (server1 は zookeeper サーバの名前) など。
*認証を行います。ユーザーは、さまざまな認証メカニズムを有効にして Kafka を使用できます。
サポートされる値 - none、Plain、SSL、SASL_SSL。
これらの認証タイプの詳細は、前述のディスパッチャーの場合と同様です。
上記のパラメーターに加えて、Interact はレシーバーに対して以下のパラメーターをサポートしていますが、これらは完全にオプションです。
上記パラメーターのデフォルト値とサンプル値を以下の表に示します。
また、スレッド管理、Zookeeper、トピック作成のバリエーションをサポートするために、オプションのパラメーターが用意されています。上記のようにReceiverのDispatcherが設定されると、同じものをアウトバウンドまたはインバウンドのゲートウェイとそれに続くチャネルで使用できるようになります。
Interacted Messageの詳細については、弊社までお問い合わせください。