를 사용하여 데이터 교환 Hermes 메시징 서비스
를 사용하여 인스턴스에서 Kafka 메시지를 ServiceNow 생성하고 사용할 수 있습니다 Hermes 메시징 서비스.
를 Hermes 메시징 서비스사용하여 인스턴스와 Kafka 환경 간에 ServiceNow 데이터를 교환하는 방법에는 여러 가지가 있습니다. 모든 경우에 데이터는 한 엔터티에서 생성되고 다른 엔터티에서 사용됩니다.
- 를 사용하면 스트리밍 연결플로우 작업 또는 생산자 API의 생산자 단계를 사용하여 인스턴스에서 메시지를 ServiceNow 생성한 다음 외부 애플리케이션에서 메시지를 사용할 수 있습니다. 외부 애플리케이션에서 메시지를 생성한 후 다음 방법 중 하나를 통해 인스턴스의 ServiceNow 메시지를 사용할 수도 있습니다.
- Kafka 흐름 트리거
- RTE 소비자
- 변환 맵 소비자
- 스크립트 소비자
자세한 내용은 Apache Kafka용 스트림 커넥트 참조하세요.
- 를 로그 익스포트 서비스사용하여 인스턴스에서 로그를 ServiceNow 생성한 다음 외부 애플리케이션에서 로그를 사용할 수 있습니다. 에 대한 로그 익스포트 서비스로그 생성 및 사용에 대한 자세한 내용은 를 참조하십시오 Exploring Log Export Service (LES).
- Kafka 표준 프로토콜을 사용하면 메시지를 생성하는 모든 애플리케이션과 메시지를 교환할 수 있습니다. 예를 들어, 표준 Kafka 프로토콜을 사용하여 Java 애플리케이션에서 메시지를 생성한 다음 인스턴스에서 사용할 수 있으며 ServiceNow , 그 반대의 경우도 마찬가지입니다.
메시지 생성 및 소비
메시지 교환을 시작하려면 Kafka 클러스터에 주제를 Hermes 생성합니다. 주제를 성공적으로 생성한 후에는 Kafka 클러스터와 Hermes 통신하는 총 3개의 프로세스를 생성합니다.
- 에 대한 메시지를 Hermes생성하려면 하나의 프로세스가 필요합니다.
- 의 Hermes메시지를 사용하려면 두 개의 프로세스가 필요합니다. 는 페일오버를 위해 Kafka 클러스터 쌍을 사용하기 때문에 Hermes 두 개의 프로세스가 필요합니다. 한 클러스터가 다운되면 데이터가 다른 Hermes Kafka 클러스터로 생성됩니다.중요사항:각 소비자 클라이언트에 대해 하나씩 두 개의 고유한 소비자 부트스트랩 주소를 구성해야 합니다.
list 명령을 사용하여 토픽 목록을 볼 때 현재 토픽 목록이 하나 또는 두 클러스터 모두에서 반환됩니다. 주제는 마지막 동기화가 발생한 시기에 따라 하나의 클러스터에서만 반환될 수 있습니다. 페일오버를 위해 생성된 주제는 세 글자 클러스터 식별 프리픽스로 구분됩니다.
CLI를 사용하여 Hermes 클러스터에 액세스하면 생성한 주제 외에 내부 주제가 표시됩니다. 자세한 내용은 다음을 참조하십시오. KB1705399.
명령줄 인터페이스(CLI)에서 단일 명령을 사용하여 두 Kafka 클러스터에서 주제를 삭제할 수 없습니다. 그러나 인스턴스에서 주제 레코드를 삭제하여 두 클러스터 모두에서 주제를 삭제할 수 있습니다. 에서 주제 삭제 Hermes 문서를 참조하십시오.
필수 포트 범위
- 생산자: 4000-4050
- 소비자1: 4100-4150
- 소비자2: 4200-4250
부트스트랩 주소
다음 포트 매핑을 사용하여 생산자와 소비자를 Kafka 클러스터 부트스트랩 주소에 연결합니다. 에서 사용하는 모든 Application Delivery Controller는 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"
는 Kafka 클러스터 쌍을 사용하므로 Hermes 별도의 소비자 부트스트랩 주소로 두 개의 소비자 클라이언트를 구성해야 합니다.
- 첫 번째 소비자 클라이언트는 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" - 두 번째 소비자 클라이언트는 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 클라이언트에 대한 생산자 및 소비자 속성을 구성할 때 이 문자열 패턴을 사용합니다.