Skip to content
This repository was archived by the owner on Apr 27, 2023. It is now read-only.

RFC: Event bus #10

@thewilkybarkid

Description

@thewilkybarkid

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    rfcA request for comments

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions