Hookdeck을 사용하여 웹후크 팬 아웃

이 가이드에서는 Hookdeck의 웹후크 전달 동작이 data transfer engine when considering fan-out ingress 으로 어떻게 작동하는지 살펴보겠습니다. UI를 사용하여 Hookdeck에서 팬아웃을 설정하는 방법과 event filtering feature을 사용하여 팬아웃을 사용자 정의하는 방법을 보여주는 간단한 단계별 예제를 살펴보겠습니다.

Hookdeck이 데이터를 제공하는 방법



소스(Hookdeck 고유 URL)로 전송된 웹후크를 수집한 후 Hookdeck은 각 이벤트를 복사하여 연결된 모든 대상(연결)에 전달합니다.

Webhook 게시자별 소스를 사용하는 것이 좋습니다. 이는 동일한 URL을 사용하여 여러 주제를 구독하므로 다른 유형의 이벤트를 수신함을 의미합니다.



이 동작에는 두 가지 주요 이점이 있습니다.
  • 명백한 이점은 Hookdeck이 웹후크를 팬아웃하기 위한 데이터 전송 엔진 역할을 할 수 있다는 것입니다.
  • Hookdeck을 사용하면 개발자가 웹후크 끝점을 관리할 때 오버헤드를 줄여 소스당 단일 영구 URL의 이점을 얻을 수 있습니다.

  • 이 동작의 단점은 수신된 모든 이벤트를 모든 대상으로 부채질하고 있으며 이는 원하는 결과가 아닐 수 있다는 것입니다(예제에서 자세한 내용 참조). 이 문제를 해결하기 위해 이벤트 필터링 기능을 활용하겠습니다. Hookdeck이 목적지별로 예상되는 이벤트를 알 수 있도록 하는 이벤트 필터 역할을 하는 json을 작성할 수 있습니다. 이를 통해 팬아웃 동작을 사용자 지정하고 서비스에 전달하려는 이벤트를 매우 구체적으로 지정할 수 있습니다.



    예시



    이것이 실제 시나리오로 어떻게 변환되는지 알아보기 위해 예를 들어 보겠습니다. Shopify "주문 생성"및 "주문 업데이트"항목을 수신하는 3개의 서비스가 있다고 가정해 보겠습니다. Read how set up Shopify webhooks .

    귀하의 서비스는 다음과 같습니다.
  • 알림: 모든 주문에 대해 알려주는 서비스입니다.
  • WMS: 웹후크를 기반으로 창고 관리 솔루션에서 작업을 트리거하는 서비스입니다.
  • 기프트 카드: 주문에 기프트 카드가 있는 경우에만 작업을 트리거하는 서비스입니다.

  • 이것은 Hookdeck에서 어떻게 보입니까?



    여기에는 Shopify가 소스로 있고 필터가 설정되지 않은 3개의 연결이 있습니다.



    이 현재 설정에서는 Hookdeck이 "주문 생성"및 "주문 업데이트"에서 웹후크를 수신할 때마다 웹훅이 복사되어 3개 서비스 모두에 전달됩니다. 그러나 기프트 카드 서비스는 요청에 기프트 카드가 포함된 주문만 수신하려고 합니다. 즉, 기프트 카드가 없는 모든 주문에 대해 이벤트가 알림 및 WMS 서비스로 전달되기를 원하지만 요청에 기프트 카드가 있는 경우 이벤트가 세 가지 서비스 모두로 확산되기를 원합니다.



    이벤트 필터 설정



    위에서 설명한 시나리오를 구현하기 위해 Hookdeck에서 기프트 카드 연결에 대한 이벤트 필터를 설정해 보겠습니다.
  • 기프트 카드 연결에서 이벤트 필터 아이콘을 클릭합니다
  • .
  • 필터용 JSON을 삽입합니다(아래 참조)
  • 저장을 클릭합니다.

  • {
    "line_items":[
      {
        "gift_card":true
      }]
    }
    




    엄청난! 이제 Hookdeck은 기프트 카드 서비스에 "giftcard": true가 있는 웹후크만 제공합니다.

    결론



    이 가이드에서는 이벤트 필터링 기능을 활용하여 이 동작을 사용자 지정하는 방법뿐만 아니라 Hoodkeck의 웹후크 전달 동작과 이를 통해 웹후크를 여러 대상으로 팬아웃하는 방법에 대해 배웠습니다.

    좋은 웹페이지 즐겨찾기