Kafka 클라이언트에서 메시지 생성 및 이용
Kafka 클라이언트에서 메시지를 Hermes 생성하고 소비하는 방법을 알아봅니다.
Kafka 클라이언트에서 메시지 교환을 시작하려면 먼저 Kafka 클러스터에서 주제를 Hermes 생성합니다. 주제를 성공적으로 작성한 후에는 통신할 총 3개의 프로세스를 Hermes작성해야 합니다.
- 에 대한 메시지를 Hermes생성하려면 하나의 프로세스가 필요합니다.
- 의 Hermes메시지를 사용하려면 두 개의 프로세스가 필요합니다. 는 페일오버를 위해 한 쌍의 Kafka 클러스터를 사용하기 때문에 Hermes 두 개의 프로세스가 필요합니다. 한 클러스터가 다운되면 다른 Hermes Kafka 클러스터에 데이터가 생성됩니다.중요사항:각 소비자 클라이언트에 대해 하나씩 두 개의 고유한 소비자 부트스트랩 주소를 구성해야 합니다.
한 소비자 프로세스는 410x 범위의 포트를 사용하고 다른 소비자 프로세스는 420x 범위의 포트를 사용합니다. 즉, 각 포트 범위에 대해 하나씩 두 개의 개별 클라이언트를 정의해야 합니다. 각 클라이언트 구성 내에서 소비자 그룹 ID를 정의할 수 있습니다.
필수 포트 범위
- 생산자: 4000-4050
- 소비자1: 4100-4150
- 소비자2: 4200-4250
방화벽을 통해 포트에 액세스할 수 있는지 확인하려면 다음 명령을 실행합니다.
openssl s_client -connect <instance_name>.service-now.com:<port> -servername <instance_name>.service-now.com
- 인스턴스에서 다른 도메인 이름을 사용하는 경우 service-now.com 도메인을 변경합니다.
- 3개 포트 범위 각각의 포트를 사용하여 테스트를 완료합니다. 예: 테스트 4000-4003, 4100-4103 및 4200-4203.
명령이 내부적으로 실패하지만 네트워크 외부의 클라이언트에서 성공하면 네트워크 관리자에게 문의하여 네트워크 방화벽을 통해 액세스 권한을 얻으십시오.
부트스트랩 주소
다음 포트 매핑을 사용하여 생산자와 소비자를 Kafka 클러스터 부트스트랩 주소에 연결합니다. 에서 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 클라이언트에 대한 생산자 및 소비자 속성을 구성할 때 이 문자열 패턴을 사용합니다.
명령줄 인터페이스(CLI) 사용
list 명령을 사용하여 토픽 목록을 볼 때 현재 토픽 목록이 하나 또는 두 클러스터 모두에서 반환됩니다. 마지막 동기화가 발생한 시기에 따라 하나의 클러스터에서만 주제가 반환될 수 있습니다. 페일오버를 위해 생성된 주제는 세 글자 클러스터 식별 프리픽스로 구분됩니다.
CLI를 사용하여 Hermes 클러스터에 액세스하면 생성한 주제 외에 내부 주제가 나타납니다. 자세한 내용은 다음을 참조하십시오. KB1705399.
명령줄 인터페이스(CLI)에서 단일 명령을 사용하여 두 Kafka 클러스터에서 주제를 삭제할 수 없습니다. 그러나 인스턴스에서 주제 기록을 삭제하여 두 클러스터 모두에서 주제를 삭제할 수 있습니다. Hermes에서 주제 삭제 문서를 참조하십시오.