-
특정 이벤트가 발생했을 때, 다른 시스템(서버)에 HTTP 요청을 통해 데이터를 전달하는 방

-
Webhook 구성 요소
1. 이벤트(Event)
- Webhook URL
- 이벤트가 발생했을 때 데이터를 받을 서버의 엔트포인트
- 일반적으로 HTTP/HTTPS URL
- 페이로드(Payload)
- 이벤트에 대한 상세 정보가 담긴 데이터
- 일반적으로 JSON 또는 XML 형식으로 전달됨
-
Webhook 동작 과정
1. 설정 : 사용자는 애플리케이션에서 웹훅을 설정
- 이벤트 발생 : 시스템에서 설정됨 이벤트가 발생
- HTTP 요청 전송 : 시스템은 설정된 웹훅 URL로 POST 요청을 전송
- 헤더(Header : Content-Type : application/json, Body : 이벤트와 관련 페이로드)
- 응답 : 웹훅 수신 섭버는 요청을 처리하고 응다을 반환
- 성공 : HTTP 200 OK / 실패 : HTTP 400/500
-
Webhook과 Polling의 차이
-
작동 방식
- Webhook: 이벤트 발생 시 전송
- Polling: 일정 주기로 요청
-
실시간성
- Webhook: 실시간
- Polling: 지연 가능
-
리소스 사용
- Webhook: 효율적
- Polling: 비효율적
-
난이도
- Webhook: 상대적으로 복잡
- Polling: 상대적으로 단순

-
Webhook과 Polling의 혼합 사용
- Webhook으로 실시간 알림을 받고, 이벤트 손실이 발생한 경우 Polling으로 데이터를 보완하기 위해 일부 시스템은 Webhook과 Polling을 혼합하여 사용하기도 함
-
Webhook 사용 사례
- DevOps 및 CI/CD, 결제 시스템, 알림 서비스, 클라우드 네이티브 시스템 ...