How to Design Reliable and
Scalable Webhooks with RabbitMQ
What are Webhooks?
● What: User-defined HTTP callbacks
● When: Triggered by an event
● How: Events on one site to invoke behavior on another site
● Why: Loosely coupled architecture
Typical Webhook Workflow
What if Site B is unreachable
or request times out?
What if Site B has internal server error?
Site A is always responsible
for message reliability
“Don’t drop any messages”
Reliable Webhook with RabbitMQ
What if Site B is unreachable
Or request times out?
What if Site B has internal server error?
Making it Scalable!
Delivering to multiple sites
Handling Multiple Sites
Summary
● Webhooks great for integrating with external systems
● Challenges:
○ Handle scenario when external system is offline
○ Handle scenario when external system fails
○ Delivery to multiple external systems concurrently
Summary
● RabbitMQ & Message Queues are building blocks for
webhooks
● RabbitMQ offers:
○ Reliability with message queues
○ Scalability by running multiple instance of processes
● RabbitMQ provide reliability and scalability out of the box
Thank You
Visit objectzen.com for more great content.

How to Design Reliable and Scalable Webhooks with RabbitMQ