πŸͺ

Webhook

이벀트 λ°œμƒ μ‹œ HTTP 콜백

Webhook은 "μ—­λ°©ν–₯ API"라고도 λΆˆλ¦½λ‹ˆλ‹€. κΈ°μ‘΄ APIλŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μš”μ²­ν•˜μ§€λ§Œ, Webhook은 μ„œλ²„κ°€ 이벀트 λ°œμƒ μ‹œ ν΄λΌμ΄μ–ΈνŠΈμ˜ μ—”λ“œν¬μΈνŠΈλ‘œ 직접 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.

ꡬ쑰 λ‹€μ΄μ–΄κ·Έλž¨

사전 등둝 단계
πŸ–₯️
λ‚΄ μ„œλ²„
콜백 URL 제곡
β‘  URL 등둝
☁️
μ™ΈλΆ€ μ„œλΉ„μŠ€
예: GitHub, Stripe
이벀트 λ°œμƒ μ‹œ
πŸ–₯️
λ‚΄ μ„œλ²„
POST μˆ˜μ‹  + 처리
β‘‘ HTTP POST 콜백
⚑
이벀트 λ°œμƒ!
결제 μ™„λ£Œ, μ½”λ“œ ν‘Έμ‹œ λ“±
흐름 μ„€λͺ…
  1. λ‚΄ μ„œλ²„μ˜ 콜백 URL을 μ™ΈλΆ€ μ„œλΉ„μŠ€μ— 사전 등둝
  2. μ™ΈλΆ€ μ„œλΉ„μŠ€μ—μ„œ 이벀트 λ°œμƒ μ‹œ λ“±λ‘λœ URL둜 HTTP POST
  3. λ‚΄ μ„œλ²„κ°€ μˆ˜μ‹ ν•˜μ—¬ 이벀트 처리
  4. 폴링 없이 μ‹€μ‹œκ°„ μ•Œλ¦Ό μˆ˜μ‹  κ°€λŠ₯

λ™μž‘ 흐름

1

λ‚΄ μ„œλ²„μ˜ 콜백 URL을 μ™ΈλΆ€ μ„œλΉ„μŠ€μ— 등둝

2

μ™ΈλΆ€ μ„œλΉ„μŠ€μ—μ„œ 이벀트 λ°œμƒ (결제 μ™„λ£Œ, μ½”λ“œ ν‘Έμ‹œ λ“±)

3

μ™ΈλΆ€ μ„œλΉ„μŠ€κ°€ λ“±λ‘λœ URL둜 HTTP POST μš”μ²­ 전솑

4

λ‚΄ μ„œλ²„κ°€ μš”μ²­μ„ μˆ˜μ‹ ν•˜κ³  이벀트 처리

μž₯점

  • μ‹€μ‹œκ°„ 이벀트 μˆ˜μ‹ 
  • 폴링 λΆˆν•„μš” (효율적)
  • κ΅¬ν˜„μ΄ 비ꡐ적 λ‹¨μˆœ
  • λŠμŠ¨ν•œ κ²°ν•©

단점

  • 곡개 URL ν•„μš”
  • μ‹€νŒ¨ μ‹œ μž¬μ‹œλ„ 둜직 ν•„μš”
  • μˆœμ„œ 보μž₯ 어렀움
  • λ³΄μ•ˆ 검증 ν•„μš” (μ„œλͺ… 확인)

μ‚¬μš© 사둀

GitHub Webhook (μ½”λ“œ ν‘Έμ‹œ μ•Œλ¦Ό) Stripe 결제 μ•Œλ¦Ό Slack 이벀트 ꡬ독 CI/CD νŒŒμ΄ν”„λΌμΈ 트리거