Apache Kafka스트리밍 연결 사용

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기7분
  • Apache Kafka for Apache Kafka를 사용하여 스트리밍 연결 환경을 ServiceNow 인스턴스에 연결합니다.

    Apache Kafka 는 여러 시스템 간에 데이터를 교환할 수 있는 통합된 방법을 제공하는 분산 이벤트 스트리밍 플랫폼입니다. 스트리밍 연결 Kafka Apache Kafka 환경을 ServiceNow 인스턴스에 연결하여 인스턴스와 외부 시스템 간에 데이터를 스트리밍할 수 있습니다.

    주:
    스트리밍 연결워크플로우 데이터 패브릭 구독과 구독이 스트리밍 연결 필요합니다. 자세한 내용은 https://www.servicenow.com/now-platform/workflow-data-fabric.html 문서를 참조하십시오.

    복지

    • Kafka 이벤트를 대규모로 게시하고 처리합니다. 인스턴스에서 Kafka 환경 ServiceNow 으로 이벤트를 게시하고 외부 시스템의 Kafka 이벤트를 짧은 대기 시간으로 대량으로 사용합니다.

    • Kafka 이벤트를 생성하고 사용하는 플로우를 빌드합니다. 스트리밍 연결 는 와 통합되어 워크플로우 스튜디오Kafka 메시지를 게시하고 처리하는 로우코드 방식을 제공합니다.
    • Kafka 환경에서 데이터를 임포트하고 기존 RTE(강력한 변환 엔진) 또는 변환 맵 구성을 사용하여 해당 데이터를 처리합니다.
    • 사용자 고유의 스크립트를 사용하여 Kafka 주제의 데이터를 처리하는 소비자를 구성합니다.
    • 통계 및 성과 메트릭의 자세한 보고를 통해 소비자의 성과를 모니터링합니다.

    구성요소

    스트리밍 연결 에는 다음과 같은 구성 요소가 있습니다.

    생산자

    생산자는 Kafka 환경에 이벤트를 게시합니다. 스트리밍 연결 에는 두 명의 생산자가 있습니다.

    • 의 Kafka 생산자 단계 워크플로우 스튜디오
    • ProducerV2 API
    소비자

    소비자는 Kafka 환경에서 이벤트를 읽고 처리합니다. 스트리밍 연결 에는 여러 소비자가 있습니다.

    • 의 Kafka 메시지 트리거 워크플로우 스튜디오
    • ETL(추출 변환 로드) 소비자
    • 변환 맵 소비자
    • 스크립트 소비자
    주제 및 주제 이름공간

    이벤트는 주제로 구성되고 저장됩니다. 주제는 동일한 유형의 이벤트를 저장합니다. 주제가 분할됩니다. 이벤트에는 키가 있습니다. 동일한 키를 가진 이벤트는 동일한 파티션에 저장됩니다.

    주제는 주제 네임스페이스에 연결됩니다. 네임스페이스를 사용하여 논리적인 방식으로 주제를 구성할 수 있습니다. 예를 들어 주제의 출처인 Kafka 클러스터에 따라 주제를 그룹화할 수 있습니다. 또한 네임스페이스를 사용하여 도메인 분리된 인스턴스에서 어떤 도메인이 어떤 주제에 액세스할 수 있는지 구성할 수 있습니다. 자세한 내용은 Managing namespaces and topics in Hermes 문서를 참조하십시오.

    구독

    구독은 소비자와 연결된 레코드입니다. 메시지를 소비할 Kafka 주제의 이름, 주제에 있는 파티션 수 등 소비자에 대한 구성 정보를 저장합니다. 구독 기록은 Kafka 스트림이 활성화될 때 생성됩니다.

    각 구독 기록에는 주제에서 읽는 소비자의 성능을 볼 수 있는 여러 메트릭이 있습니다. 자세한 내용은 Kafka 구독 및 통계 보기 문서를 참조하십시오.

    파티션 그룹

    파티션 그룹은 주제 파티션의 세트입니다. 예를 들어 주제에 6개의 파티션이 있는 경우 각 그룹에 2개의 파티션이 있는 3개의 파티션 그룹으로 나눌 수 있습니다.

    Kafka 소비자 작업

    주제의 새 이벤트가 있는지 Hermes를 정기적으로 확인하는 작업입니다. 이 작업은 사용 가능한 파티션 그룹을 선택하고 구독을 검색합니다. 구독은 토픽 이름을 제공하고 작업은 파티션에서 해당 토픽에 대한 메시지를 확인합니다.

    Kafka 스트림(다음 이미지에는 표시되지 않음)

    Kafka 스트림은 소비자에 대한 데이터 스트림을 정의하는 레코드입니다. 에서 워크플로우 스튜디오Kafka 메시지 트리거를 사용하는 경우 Kafka 스트림이 자동으로 생성됩니다. 다른 소비자를 사용하는 경우 수동으로 만들어야 합니다.

    Kafka 환경을 ServiceNow 인스턴스에 연결하기 위해 Stream Connect는 .Hermes 메시징 서비스 인스턴스가 Hermes 메시징 서비스 대량의 Kafka 이벤트를 생성하고 소비할 수 있도록 합니다. Kafka 환경과 인스턴스 간의 데이터 흐름을 관리합니다. 자세한 내용은 메시징 서비스 단원을 참조하십시오.

    다음 다이어그램은 의 스트리밍 연결주요 구성요소를 보여줍니다., 외부 공급업체 애플리케이션과 어떻게 관련 ServiceNow 되어 있는지, 그리고 Hermes를 통해 Kafka 환경에 연결하는 방법을 보여줍니다.

    그림 1. 스트림 커넥트 구성요소 개요
    스트림 커넥트 구성 요소와 이러한 구성 요소가 Kafka, ServiceNow및 Hermes 메시징 서비스.

    스트리밍 연결워크플로우 스튜디오

    및 을 사용하여 스트리밍 연결 Kafka 이벤트를 생성하고 사용하는 플로우를 빌드합니다 워크플로우 스튜디오. 스트리밍 연결 에는 Kafka 이벤트를 소비하기 위한 플로우 트리거와 이를 생성하기 위한 작업 단계가 있습니다.

    Kafka 메시지 트리거를 사용하여 Kafka 이벤트를 처리하는 플로우를 생성합니다. Kafka의 데이터를 사용하여 테이블에 삽입하거나 스포크를 사용하여 데이터를 외부 공급업체 환경에 전달하는 플로우를 빌드할 수 있습니다.

    트리거는 플로우가 활성화될 때 활성화됩니다. 트리거가 활성화되면 트리거는 지정된 Kafka 주제에 메시지가 있을 때마다 플로우를 시작합니다. Kafka 메시지 트리거를 사용하는 경우 Kafka 스트림 또는 구독 레코드를 생성할 필요가 없습니다. 흐름이 활성화되면 시스템에서 자동으로 둘 다 생성합니다. 플로우가 활성 상태인 동안 주제에서 메시지를 읽습니다.

    Kafka 생산자 단계를 사용하여 Kafka 환경의 주제에 이벤트를 게시하는 작업을 생성합니다. 예를 들어, 이 단계를 사용하여 에서 ServiceNow인시던트의 업데이트에 대한 메시지를 작성한 다음 Kafka 환경의 주제로 메시지를 푸시할 수 있습니다.

    스트리밍 연결 경고

    통합에 대한 스트리밍 연결 경보 및 경보 알림을 수신합니다. 스트리밍 연결 는 활성 모니터링과 예약된 모니터링을 모두 사용하여 여러 구성요소에서 이벤트를 탐지합니다. 문제가 감지되면 시스템은 경보를 생성하고 로그에 메시지를 스트리밍 연결 로깅한 다음 경보 알림을 보냅니다. 자세한 내용은 스트리밍 연결 경고 문서를 참조하십시오.

    Avro 형식의 메시지 지원

    스키마를 임포트하고 생성하여 Avro 형식으로 메시지를 Apache 보내고 받습니다. Avro 형식을 사용하면 페이로드의 크기를 줄이고 로컬 Kafka 인스턴스와의 통합을 간소화할 수 있습니다.

    Confluent Registry에서 직접 Avro 스키마를 임포트하거나 JSON 파일 또는 JSON 형식 문자열을 사용하여 고유한 스키마를 생성할 수 있습니다. 스키마는 ServiceNow 생산자와 소비자가 일반 텍스트 메시지를 Avro 형식으로 변환하고 그 반대로 변환할 수 있도록 저장되며 이를 지원합니다. 자세한 내용은 스트림 커넥트의 스키마 관리 문서를 참조하십시오.

    ETL, 변환 맵 및 스크립트 소비자

    기존 RTE 또는 변환 맵 구성을 사용하여 Kafka 환경에서 데이터를 임포트합니다. 추출, 변환, 로드(ETL) 및 변환 맵 소비자는 Kafka 메시지에서 페이로드를 가져오고, 데이터를 변환하고, 테이블의 기록을 삽입 또는 업데이트하는 효율적인 방법을 제공하여 데이터 임포트를 단순화합니다. 예약된 데이터 임포트에서 Stream Connect를 사용하는 데이터 임포트로 전환하고 동일한 구성으로 데이터를 처리할 수 있습니다.

    스크립트 소비자를 사용하여 Kafka 환경의 데이터를 처리할 수도 있습니다. 스크립트 소비자는 메시지의 데이터가 구조화되지 않았거나 코드를 사용하여 데이터를 조회해야 하는 경우와 같은 고급 사용 사례를 위한 것입니다.

    당신이 ETL(추출 변환 로드) 소비자 구성, 변환 맵 소비자 구성, 스크립트 소비자 구성또는 , 당신도 할 필요가 있습니다 Kafka 스트림 생성.

    ProducerV2 API

    ProducerV2 API를 사용하여 Kafka 주제에 이벤트를 게시합니다.

    스트리밍 연결 메시지 복제

    Kafka 환경과 Message Replication 간에 데이터를 복제할 ServiceNow스트리밍 연결 수 있습니다.

    스트리밍 연결 메시지 복제를 사용하면 인스턴스에서 직접 메시지 복제를 구성하고 관리할 수 있습니다 ServiceNow . 를 MID 서버 사용하여 데이터 복제를 실행하므로 추가 복제 서비스를 구성하거나 호스팅할 필요가 없습니다. 또한 필요한 인증서를 자동으로 생성하여 메시지 복제 설정을 단순화합니다.

    자세한 내용은 스트림 커넥트 메시지 복제 문서를 참조하십시오.

    처리되지 않은 메시지와 전달되지 않은 메시지

    메시지를 배달할 수 없는 경우 Kafka 배달되지 않은 메시지[sys_kafka_undelivered_messages] 테이블에 저장됩니다. 예약된 작업인 Kafka 생산자 재시도는 정기적으로 이 테이블을 읽고 메시지를 다시 배달하려고 시도합니다.

    시간 초과로 인해 메시지 배치를 처리할 수 없는 경우 Kafka 처리되지 않은 메시지 [sys_kafka_unprocessed_messages] 테이블에 저장됩니다. 메시지 일괄 처리에 대한 제한 시간은 속성을 사용하여 com.glide.kafka_consumer.timeout 설정할 수 있습니다. 기본값은 60초입니다. 이 테이블은 회전된 테이블이므로 기록을 자동으로 정리합니다.

    도메인 분리

    주제 네임스페이스를 사용하여 스트리밍 연결 도메인 분리 인스턴스에서 Kafka 주제에 액세스할 수 있는 도메인을 구성합니다. 주제를 네임스페이스로 ServiceNow 그룹화한 다음, 네임스페이스를 특정 도메인에 연결합니다. 자세한 내용은 도메인 분리 및 스트리밍 연결 문서를 참조하십시오.

    플러그인

    스트리밍 연결 설치 관리자 [com.glide.hub.stream_connect.installer] 플러그인이 ServiceNow 스트리밍 연결 필요합니다. 이 플러그인을 사용하면 라이센스가 부여된 구성요소가 에서 메시지 기반 스트리밍 데이터로 작업할 수 있습니다 스트리밍 연결.