Hermes メッセージングサービス を使用したデータの交換
Hermes メッセージングサービス を使用して、ServiceNow インスタンスで Kafka メッセージを生成および消費できます。
Hermes メッセージングサービス を使用して ServiceNow インスタンスと Kafka 環境の間でデータを交換するには、いくつかの方法があります。いずれの場合も、データはあるエンティティから生成され、別のエンティティによって消費されます。
- Apache Kafka 向けストリームコネクト を使用すると、フローアクションまたは Producer API のプロデューサーステップを使用して ServiceNow インスタンスからメッセージを生成し、外部アプリケーションでそのメッセージを消費できます。 外部アプリケーションからメッセージを生成し、次のいずれかの方法を使用して ServiceNow インスタンス内でメッセージを消費することもできます。
- Kafka フロートリガー
- RTE コンシューマー
- 変換マップコンシューマー
- スクリプトコンシューマー
詳細については、「Stream Connect for Apache Kafka」を参照してください。
- ログエクスポートサービス を使用すると、ServiceNow インスタンスからログを生成し、外部アプリケーションでそのログを使用できます。詳細については、「ログエクスポートサービス (LES)」を参照してください。
- Kafka 標準プロトコルを使用してメッセージを生成するアプリケーションとメッセージを交換することもできます。たとえば、標準の Kafka プロトコルを使用して Java アプリケーションからメッセージを生成し、それを ServiceNow インスタンスで消費することができます。またその逆も同様です。
メッセージの生成と使用
メッセージの交換を開始するには、 Hermes Kafka クラスターにトピックを作成します。トピックを正常に作成したら、 Hermes Kafka クラスターと通信するために合計 3 つのプロセスを作成します。
- Hermes へのメッセージを生成するのにプロセスが 1 つ必要です。
- Hermes からのメッセージを消費するのにプロセスが 2 つ必要です。Hermes はフェイルオーバー目的で、Kafka クラスターをペアで使用するため、プロセスが 2 つ必要になります。片方のクラスターがダウンすると、データはもう一方の Hermes Kafka クラスターに生成されます。
必要なポート範囲
を使用して Hermesメッセージの交換を開始する前に、ネットワーク管理者と協力して、次のポート範囲が開いていることを確認してください。
- 生産者: 4000-4050
- コンシューマー1: 4100-4150
- コンシューマー2: 4200-4250
ブートストラップアドレス
次のポートマッピングを使用して、プロデューサーとコンシューマーを Kafka クラスターのブートストラップアドレスに接続します。Hermes で使用されるすべてのアプリケーションデリバリコントローラーは、これと同じ規則に従います。
重要:
次の Hermes ブートストラップアドレスの例では、ポート 4000-4003、4100-4103、および 4200-4203 を使用しています。ただし、追加のクラスター Hermes メッセージングサービスが追加されたときに接続を確保するために、次のポート範囲を開く必要があります。
- 生産者: 4000-4050
- コンシューマー1: 4100-4150
- コンシューマー2: 4200-4250
プロデューサークライアントは、4000 〜 4050 の範囲のポートを使用します。例を次に示します。
Producers = "<instance_name>.service-now.com:4000,<instance_name>.service-now.com:4001,<instance_name>.service-now.com:4002,<instance_name>.service-now.com:4003"
Hermes は Kafka クラスターをペアで使用するため、コンシューマークライアントが 2 つ必要になります。これは、コンシューマーごとに 1 つずつ、2 つの異なるブートストラップアドレスを使用する必要があることを意味します。
- 最初のコンシューマークライアントは、4100 〜 4150 の範囲のポートを使用します。例を次に示します。
Consumer A = "<instance_name>.service-now.com:4100,<instance_name>.service-now.com:4101,<instance_name>.service-now.com:4102,<instance_name>.service-now.com:4103" - 2 番目のコンシューマークライアントは、4200 〜 4250 の範囲のポートを使用します。例を次に示します。
Consumer B = "<instance_name>.service-now.com:4200,<instance_name>.service-now.com:4201,<instance_name>.service-now.com:4202,<instance_name>.service-now.com:4203"
独自の Kafka クライアントのプロデューサープロパティとコンシューマープロパティを設定する場合は、この文字列パターンを使用します。