mirror of
https://github.com/serai-dex/serai.git
synced 2024-12-27 14:09:48 +00:00
29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
---
|
|
title: Message Queue
|
|
layout: default
|
|
nav_order: 1
|
|
parent: Infrastructure
|
|
---
|
|
|
|
# Message Queue
|
|
|
|
The Message Queue is a microservice to authenticate and relay messages between
|
|
services. It offers just three functions:
|
|
|
|
1) Queue a message.
|
|
|
|
2) Receive the next message.
|
|
|
|
3) Acknowledge a message, removing it from the queue.
|
|
|
|
This ensures messages are delivered between services, with their order
|
|
preserved. This also ensures that if a service reboots while handling a message,
|
|
it'll still handle the message once rebooted (and the message will not be lost).
|
|
|
|
The Message Queue also aims to offer increased liveliness and performance.
|
|
If services directly communicated, the rate at which one service could operate
|
|
would always be bottlenecked by the service it communicates with. If the
|
|
receiving service ever went offline, the sending service wouldn't be able to
|
|
deliver messages until the receiver came back online, halting its own work. By
|
|
defining a dedicated microservice, with a lack of complex logic, it's much less
|
|
likely to go offline or suffer from degraded performance.
|