Kafka 메시지 트리거 및 스크립트 소비자를 사용하여 메시지 소비

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기4분
  • Kafka 메시지 트리거와 스크립트 소비자가 있는 워크플로우 스튜디오 Hermes에서 메시지를 검색합니다.

    시작하기 전에

    프로시저

    1. 메시지를 소비할 주제를 만듭니다.
      1. 다음 명령을 사용하여 Hermes에서 주제를 만듭니다.
        bin/kafka-topics.sh --create --command-config config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic1
        <instance name>을 인스턴스의 이름으로 바꿔야 합니다.
      2. 주제를 보려면 인스턴스에 로그인한 후 모두 > 통합 허브 > 스트림 커넥트 > 주제.
        주:
        주제를 생성하는 데 약 10분이 걸립니다.
    2. 주제의 메시지를 사용하는 플로우 트리거를 생성합니다.
      1. 다음으로 이동 모두 > 프로세스 자동화 > 플로우 디자이너.
      2. 선택 새로 생성 > 플로우.
      3. 플로우 속성 양식에서 플로우 이름을 입력한 후 Submit을 입력합니다.
        이 예에서는 Topic1 Consumer라는 이름을 사용합니다.
      4. 트리거 섹션에서 트리거 추가를 선택한 다음, 트리거 유형으로 Kafka 메시지를 선택합니다.
        Kafka 메시지는 플로우의 트리거 유형입니다.
      5. Topic1 주제를 선택합니다.
        주제 필드에 대해 topic1을 선택합니다.

        돋보기 아이콘을 사용하여 사용 가능한 주제 목록을 볼 수 있습니다.

      6. 플로우의 동작 섹션에서 작업, 플로우 논리 또는 하위 플로우 추가 > 플로우 논리 > For Each.
      7. 메시지 데이터 알약을 항목 필드로 끈 다음, 완료를 선택합니다.
      8. 플로우의 동작 섹션에서 작업, 플로우 논리 또는 하위 플로우 추가 > 작업 > ServiceNow 코어 > 로그.
      9. 페이로드 데이터 알약을 메시지 필드로 끌어온 다음 완료를 선택합니다.
      10. 흐름 트리거를 저장합니다.
      11. 이 플로우에 대한 보고를 활성화하려면 설정 [sys_flow_execution_setting] 테이블로 이동하십시오.
      12. 새 항목을 만들고 위에서 생성한 플로우에 대한 보고를 사용 설정합니다.
        플로우에 대한 보고를 활성화하는 새 설정 기록을 생성합니다.
      13. 플로우로 다시 이동하여 활성화를 선택합니다.
      14. 주제 구독을 보려면 다음으로 이동하십시오. 모두 > 통합 허브 > 스트림 커넥트 > 구독.
        topic1 주제에 대한 구독입니다.
    3. Kafka 명령줄 도구를 사용하여 주제에 메시지를 게시합니다.
      1. 다음 명령을 실행하여 주제에 메시지를 게시합니다.
        bin/kafka-console-producer.sh --topic snc.<instance name>.topic1  --producer.config  config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003

        <instance name>을 인스턴스의 이름으로 바꿔야 합니다.

        이 명령은 메시지를 입력하라는 메시지를 표시합니다. 몇 가지 샘플 메시지를 추가합니다. 이 예제에서는 다음 메시지를 사용합니다.
        • 테스트 메시지 1
        • 테스트 메시지 2
        • 테스트 메시지 3
        약 1분 후에 메시지를 받게 됩니다.
      2. 플로우로 다시 이동하여 실행을 선택합니다.
        실행을 선택하여 플로우 실행 뷰로 이동합니다.
      3. 플로우 실행을 엽니다.
        플로우에 대한 실행 상세 정보입니다.
      4. 이 구독에 대한 통계를 보려면 다음으로 이동하십시오. 모두 > 통합 허브 > 스트림 커넥트 > 구독에서 구독을 열고 통계 보기로 이동합니다.
        구독에 대한 Kafka 통계입니다.
    4. 주제의 메시지를 소비하는 스크립트 소비자를 생성합니다.
      1. 다음으로 이동 통합 허브 > 소비자 > 스크립트 소비자.
      2. 새로 만들기를 선택합니다.
      3. 이름 필드에 스크립트 소비자의 이름을 입력합니다.
        이 예시에서는 Topic1 Consumer를 사용합니다.
      4. 스크립트 상자에 다음 논리를 추가하여 메시지를 기록할 스크립트를 설정합니다.
        for (var i = 0; i < messages.length; i++) {
              gs.info('Received message ' + JSON.stringify(messages[i].message));
         }
        
        이벤트 소비자 필드에 스크립트를 보여주는 Kafka 스크립트 소비자.
      5. 양식을 저장합니다.
      6. 관련 링크 섹션에서 새로 만들기 를 선택하여 메시지를 사용할 Kafka 스트림을 추가합니다.
      7. Kafka 스트림 양식에서 다음 필드 값을 설정합니다.
        • Topic1 스트림이름입니다.
        • 앞서 생성한 주제인 topic1에 대한 주제입니다.
        • 최대 동시성은1입니다.
        • 토픽에 저장된 모든 메시지를소비 시작합니다. 이 옵션을 사용하면 이 주제에 이미 게시된 메시지를 읽을 수 있습니다.
        • 자동으로 최적화하는 메시지 처리.
        Kafka 스트림 기록입니다.
      8. 관련 링크 아래에서 활성화 링크를 선택합니다.
        활성화된 구독을 볼 수 있어야 합니다.
      9. 메시지를 보려면 다음으로 이동합니다. 모두 > 시스템 로그 > 시스템 로그 을 클릭하고 받은 메시지로 시작하는 메시지를 필터링합니다.
        받은 메시지의 목록입니다.
      10. 1분 후에 모든 메시지가 표시되어야 합니다.

    다음에 수행할 작업

    ETL 및 변환 맵 소비자를 사용하여 데이터 임포트.