Hermes メッセージングサービス を使用したデータの交換

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • 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 クライアントのプロデューサープロパティとコンシューマープロパティを設定する場合は、この文字列パターンを使用します。