This repository was archived by the owner on Apr 27, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
RFC: Event bus #10
Copy link
Copy link
Open
Labels
rfcA request for commentsA request for comments
Description
Problem
Libero needs to allow for disparate services to indirectly communicate with each other, so they can monitor and react to data changes.
Suggestion
- Use RabbitMQ (AMQP 0.9.1 standard + publisher confirms extension) to allow for services to reliably emit notifications that something has happened
- Define a standard for routing keys
- Namespacing
- Services can act both in an upstream and downstream role
- Upstream services own and send messages to their ‘topic’ exchange(s)
- Downstream services bind their queue(s) to one or more exchanges
- Downstream services consume messages from their queue(s)
Concerns
- RabbitMQ is an opinionated choice, but other existing options/standards don’t meet our requirements (AMQP has two flavours, and doesn’t a performant way of confirming publication)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
rfcA request for commentsA request for comments