Webhook

안서현·2024년 12월 23일
  • 특정 이벤트가 발생했을 때, 다른 시스템(서버)에 HTTP 요청을 통해 데이터를 전달하는 방

  • Webhook 구성 요소
    1. 이벤트(Event)

    • 웹훅이 실행되는 트리거 역할을 해줌
    1. Webhook URL
    • 이벤트가 발생했을 때 데이터를 받을 서버의 엔트포인트
    • 일반적으로 HTTP/HTTPS URL
    1. 페이로드(Payload)
    • 이벤트에 대한 상세 정보가 담긴 데이터
    • 일반적으로 JSON 또는 XML 형식으로 전달됨
  • Webhook 동작 과정
    1. 설정 : 사용자는 애플리케이션에서 웹훅을 설정

    1. 이벤트 발생 : 시스템에서 설정됨 이벤트가 발생
    2. HTTP 요청 전송 : 시스템은 설정된 웹훅 URL로 POST 요청을 전송
    • 헤더(Header : Content-Type : application/json, Body : 이벤트와 관련 페이로드)
    1. 응답 : 웹훅 수신 섭버는 요청을 처리하고 응다을 반환
    • 성공 : HTTP 200 OK / 실패 : HTTP 400/500
  • Webhook과 Polling의 차이

    1. 작동 방식

      • Webhook: 이벤트 발생 시 전송
      • Polling: 일정 주기로 요청
    2. 실시간성

      • Webhook: 실시간
      • Polling: 지연 가능
    3. 리소스 사용

      • Webhook: 효율적
      • Polling: 비효율적
    4. 난이도
      - Webhook: 상대적으로 복잡
      - Polling: 상대적으로 단순

  • Webhook과 Polling의 혼합 사용
    - Webhook으로 실시간 알림을 받고, 이벤트 손실이 발생한 경우 Polling으로 데이터를 보완하기 위해 일부 시스템은 Webhook과 Polling을 혼합하여 사용하기도 함

  • Webhook 사용 사례
    - DevOps 및 CI/CD, 결제 시스템, 알림 서비스, 클라우드 네이티브 시스템 ...

profile
안녕하세요!

0개의 댓글