Hermes에서 주제 관리
를 Hermes 메시징 서비스사용하여 인스턴스의 주제 기록과 Kafka 클러스터의 Kafka 주제를 Hermes 관리합니다.
주제 기록
메시지는 Kafka 클러스터의 Kafka 주제에 구성되고 저장됩니다 Hermes . 주제 기록은 인스턴스의 Kafka 주제 [sys_kafka_topic] 테이블에 저장됩니다. 이 테이블에는 각 주제의 네임스페이스에 대한 참조가 있는 주제 기록 목록이 표시됩니다. 각 주제 기록에는 주제의 이름, 관련 네임스페이스 및 주제의 활성 여부에 대한 필드가 있습니다.
Kafka 주제 [sys_kafka_topic] 테이블의 이름 열에 있는 값은 본질적으로 고유하지 않습니다. 예를 들어, 주제 기록은 다른 네임스페이스에 속하거나 다른 클러스터에 존재할 때 동일한 이름 값을 가질 수 있습니다. 그러나 전체 이름 열의 값은 항상 고유합니다.
- 검색된 모든 주제에 대한 주제 기록을 생성하고, 주제 이름의 프리픽스에 따라 적절한 네임스페이스에 할당합니다.
- Kafka CLI(명령줄 인터페이스)와 같은 외부 소스에서 생성된 주제를 동기화합니다. 예를 들어, 근접 클러스터의 외부 소스에서 주제가 생성되면 작업이 실행되어 원거리 클러스터에서도 주제를 생성합니다.
- 주제를 네임스페이스와 일치시킬 수 없는 경우 경고 메시지를 기록합니다. 주제가 네임스페이스와 일치하지 않으면 주제 기록이 생성되지 않습니다. 모든 주제와 일치하는 기본 네임스페이스라고 하는 접두사가 없는 기본 네임스페이스가 있습니다. 주제가 네임스페이스와 일치하지 않는 유일한 경우는 기본 네임스페이스가 삭제되거나 수정된 경우입니다.
- Kafka 주제를 찾을 수 없는 경우 주제를 비활성으로 표시합니다.
주제 검사기를 사용하여 Kafka 클러스터의 Hermes 주제를 모니터링하고 볼 수 있습니다. 자세한 내용은 Kafka 클러스터에서 주제 Hermes 모니터링 문서를 참조하십시오.
Kafka 주제는 특정 인스턴스와 관련이 있습니다. 즉, 업데이트 세트를 사용하여 Kafka 주제 [sys_kafka_topic] 테이블에서 다른 인스턴스로 주제 기록을 마이그레이션할 수 없습니다. 대신 대상 인스턴스에 주제를 수동으로 생성해야 합니다.
주제 생성
- 인스턴스에서 주제를 생성합니다. 이렇게 하면 Kafka 주제 [sys_kafka_topic] 테이블에 기록이 생성되고 Kafka 클러스터에 Kafka 주제가 생성됩니다 Hermes . Hermes에서 주제 생성 문서를 참조하십시오.
- 주제를 외부에서 만듭니다. 예를 들어 Kafka 명령줄 인터페이스(CLI)를 사용하여 주제를 생성합니다.주:클러스터와 인스턴스 간의 동기화 문제를 방지하려면 외부에서 주제를 만들 때 애플리케이션 ID를 포함합니다. 예를 들어, 애플리케이션 ID가 없으면
snc.instancename.fulfillment.topicname과 같은 이름으로 CLI에서 생성된 주제는이행네임스페이스 대신 기본 네임스페이스에 생성됩니다. 주제가이행 네임스페이스에서 생성되도록 하려면snc.instancename.fulfillment.app_id.topicname형식을 사용하여 이름에 애플리케이션 ID를 포함합니다.app_id선택한 애플리케이션 ID로 바꿉니다.
어떤 이유로 Kafka 클러스터에서 Hermes 주제를 작성할 수 없는 경우 Kafka 주제 [sys_kafka_topic] 테이블에서도 작성되지 않습니다.
주제 업데이트
필요한 경우 주제의 파티션 수를 변경할 수 있습니다. 주제의 파티션 수만 늘릴 수 있습니다. 자세한 내용은 Hermes에서 주제 업데이트 문서를 참조하십시오.
생성된 후에는 주제 기록에 할당된 네임스페이스가 영구적으로 유지됩니다. 네임스페이스 기록을 생성하고 기존 주제를 해당 기록으로 이동하려면 주제를 삭제하고 새 네임스페이스 프리픽스를 사용하여 Kafka 클러스터에서 Hermes 다시 생성해야 합니다. 인스턴스를 통해 주제가 생성되지 않은 경우 재스캔 후 새 주제 기록이 생성되어 일치하는 네임스페이스 기록에 할당됩니다.
항목 삭제 중
- 인스턴스의 Kafka 주제 [sys_kafka_topic] 테이블에서 직접 주제를 삭제합니다. 이 방법은 한 번의 작업으로 모든 Hermes Kafka 클러스터에서 주제를 자동으로 삭제합니다. Hermes에서 주제 삭제 문서를 참조하십시오.
- 주제를 외부에서 삭제합니다. 예를 들어 Kafka 명령줄 인터페이스(CLI)를 사용하여 주제를 삭제합니다.중요사항:주제를 외부에서 삭제하려면 각 포트 세트(410x 및 420x)를 지정하여 두 클러스터에서 주제 Hermes 를 수동으로 삭제해야 합니다. 가능하면 대신 인스턴스를 통해 주제를 삭제합니다.
에 구독이 있는 주제는 삭제할 수 없습니다.스트리밍 연결
주제 다시 스캔
재스캔은 아직 해당 주제 기록이 없는 Kafka 클러스터의 Hermes 모든 주제에 대한 주제 기록을 생성합니다. 예를 들어 CLI를 사용하여 주제를 Hermes 생성하는 경우 예약된 작업에서 해당 주제 기록이 생성될 때까지 기다리지 않고 즉시 Kafka 주제 [sys_kafka_topic] 테이블에 해당 주제 기록을 생성하도록 다시 스캔할 수 있습니다.
- 다시 스캔은 10분마다 자동으로 수행됩니다.
- 생성된 주제 기록은 프리픽스 일치 규칙에 따라 기존 네임스페이스에 할당됩니다.
- 에 주제Hermes가 이미 있는 후 Kafka Consumer(com.glide.hub.kafka_consumer) 플러그인이 활성화된 경우 ServiceNow 통합 허브 .
- 주제 기록이 실수로 삭제된 경우.
- 네임스페이스 정의가 변경되어 기존 주제를 새 네임스페이스에 할당하려는 경우.