での名前空間の管理 Hermes

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • Kafka トピックをグループ化して、名前空間を使用してトピック管理とアクセス制御の仕様を簡素化します。

    ServiceNow では、すべての Kafka トピックが名前空間にリンクされます。名前空間を使用して、論理的な方法でトピックを整理できます。たとえば、Kafka クラスターに基づいてトピックをグループ化できます。名前空間を使用して、どのドメインがドメイン分離されたインスタンスのどのトピックにアクセスできるかを設定することもできます。トピックの名前空間を使用して、トピックを ServiceNow ドメインに割り当てます。

    名前空間レコード

    名前空間レコードは、Kafka 名前空間 [sys_kafka_namespace] テーブルに格納されます。このテーブルには、各名前空間の関連トピックプリフィックスを含む名前空間レコードのリストが表示されます。kafka_namespace_adminロールを持つ管理者は、Kafka 名前空間 [sys_kafka_namespace] テーブルに名前空間レコードを作成します。

    名前空間とトピックプリフィックス

    トピックは、トピック名のプリフィックスに基づいて名前空間に割り当てられます。スケジュール設定済みジョブは、Hermes に新しいトピックがないか定期的にチェックします。見つかると、そのトピックの ServiceNow トピックレコードが作成され、そのトピックが名前空間にリンクされます。トピックに割り当てられた接頭辞は、 での ServiceNow名前空間の割り当ての基礎となります。

    この図は、Kafka クラスター名のプリフィックスを使用して、 で ServiceNowトピックをさまざまな名前空間に整理する例を示しています。

    図 : 1. Kafka プリフィックスとトピックの名前空間
    Kafka のトピックプリフィックスと ServiceNow の名前空間との関連性に関する概要。

    この例では:

    1. kafka_namespace_adminロールを持つインスタンス管理者は、ログ分析グループ、実行グループ、およびインスタンス内の ServiceNow 別の子会社の名前空間レコードを作成します。
    2. インスタンス管理者は、Kafka 管理者と協力して、Kafka クラスター名を名前空間プリフィックスとして使用するように Hermes トピックを複製します。
    3. 実行グループの Kafka クラスターには、 material_orders という名前のトピックがあります。トピックは、 Hermes 名前空間のプリフィックスとして フルフィルメント を使用して複製されます。「fulfillment.material_orders」という新しいHermesトピックが作成されます。
    4. スケジュール設定済みジョブは、 でHermesfulfillment.material_ordersトピックを検索し、トピックレコードを作成して、そのレコードをそのプリフィックスと一致するように Fulfillment 名前空間に割り当てます。

    プリフィックス一致ルール

    トピック名のプリフィックスは、次のルールに従って名前空間と照合されます。

    • 名前空間は、一致する最長の名前空間プリフィックスに基づいて選択されます。一致する名前空間がある場合、トピックレコードはその名前空間とその名前空間のドメインに割り当てられます。
    • 一致する、より長い名前空間のプリフィックスがない場合は、デフォルトの名前空間の長さゼロのプリフィックスが一致します。トピックレコードは、グローバルドメインのデフォルトの名前空間に割り当てられます。
    • デフォルトの名前空間が削除または変更されたため、一致する名前空間が存在しない場合、トピックレコードは作成されません。

    名前空間の設計に関する考慮事項

    名前空間とトピックの作成を開始する前に、名前空間とトピックをどのように編成するかを計画します。名前空間にトピックを追加すると、それに関連付けられているトピックを削除せずに名前空間を削除することはできません。

    各ドメインの名前空間がドメイン分離インスタンスに存在する
    ServiceNow ドメインごとに 1 つの名前空間を作成します。
    名前空間を使用して、ドメインおよび Kafka インストール別にトピックを整理する
    名前空間を使用して、別々の ServiceNow ドメインおよびトピックに属する両方のトピックを別々の Kafka インストールから分離します。
    名前空間を構成した後、デフォルトの名前空間を削除または非アクティブ化することを検討する
    デフォルトの名前空間を維持すると、トピックプリフィックスの不一致など、構成の問題が発生するおそれがあります。この不一致があると、1 つのドメインで作成する必要があったトピックがグローバル ドメインで作成されることがあります。

    デフォルトの名前空間を削除することで、トピックの作成場所をより厳しく制限できます。たとえば、すべてのトピックに名前空間に一致するプリフィックスが必要であると判断した場合、デフォルトの名前空間を削除すると、一致するプリフィックスのないトピックは作成されません。

    の名前空間 Hermesでのドメイン分離の使用の詳細については、「」を参照してください Hermes メッセージングサービス ドメイン分離