EGA-archive / LocalEGA

A federated storage for sensitive data
http://localega.readthedocs.io
Apache License 2.0
7 stars 16 forks source link

MQ Retry queues #103

Closed silverdaz closed 6 months ago

silverdaz commented 4 years ago

Description

When a message is rejected because another service is not available, we could send the message to a dead-letter exchange/queue and let it retry a few seconds later.

Proposed solution

There are several solution described here. This is not a new concept.

We can implement an exchange with a timeout, which requires a plugin insertion, or we can duplicate all the relevant queues with a dead-letter equivalent and set up the exchange routing keys accordingly. The latter is a bit more verbose, but nonetheless somehow standard.

eandersson commented 4 years ago

You have an example implementation that can be almost mapped 1on1 to amqpstorm here as well. https://stackoverflow.com/questions/17014584/how-to-create-a-delayed-queue-in-rabbitmq

silverdaz commented 6 months ago

Closing it as the architecture around the message queues as changed