-
Notifications
You must be signed in to change notification settings - Fork 9
Guide to Message Broker Integration
akshat edited this page Oct 20, 2023
·
6 revisions
Goose natively supports RabbitMQ & Redis Message Brokers. Due to infra-layer constraints or knowledge gaps, users might prefer a different broker like Amazon SQS or Postgres. For those reasons, we've provided an option to integrate a custom message broker implementation.
As a start, refer to implementations of RabbitMQ & Redis.
An elaborate guide will take a while to create. For now, please go through the high-level steps required to implement a Message Broker:
- Implement all functions of Broker protocol which are feasible by your Message Broker
-
enqueue
,schedule
®ister-cron
take a Job, serialize it and produce to broker - The data structure for each type of Job must keep efficiency of consumption in mind
-
start-worker
starts a process that dequeues jobs & executes them - Depending on the broker, a worker will have to perform additional tasks including, but not limited to: enqueue scheduled & periodic jobs due for execution, retry failed jobs, replay orphan jobs, etc.
Previous: Redis Next: Job Lifecycle
Home | Getting Started | RabbitMQ | Redis | Error Handling | Monitoring | Production Readiness | Troubleshooting
Need help? Open an issue or ping us on #goose @Clojurians slack.