mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 12:19:24 +00:00
Add docs, correct URL
This commit is contained in:
25
docs/infrastructure/message_queue.md
Normal file
25
docs/infrastructure/message_queue.md
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: Message Queue
|
||||
layout: default
|
||||
nav_order: 1
|
||||
parent: Infrastructure
|
||||
---
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user