Skip to content

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 & register-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

Clone this wiki locally