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