how to design reliable and scalable webhooks with rabbitmq
Post on 11-Apr-2017
76 Views
Preview:
TRANSCRIPT
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 unreachableOr 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
top related