Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Y24-020 Add relevant exchanges, queues, users, etc. to RabbitMQ for new Bioscan messages #72

Closed
15 tasks
sdjmchattie opened this issue Mar 8, 2024 · 1 comment
Assignees

Comments

@sdjmchattie
Copy link
Contributor

sdjmchattie commented Mar 8, 2024

User story
The required queues, exchanges and users will need to be added to RabbitMQ to be able to receive messages in a consumer.

Who are the primary contacts for this story
Stuart McHattie

Who is the nominated tester for UAT
PSD

Acceptance criteria
To be considered successful the solution must allow:

  • A user is configured with permissions for writing messages to an exchange.
  • A user is configured with permissions to read messages from the queue the exchange routes to.
  • Exchanges are defined for deployment to the RabbitMQ instance:
    • One to receive dead letters for unprocessable messages.
    • One to receive unrouted message.
    • One that will receive messages from the first user above.
  • Queues are defined for deployment to the RabbitMQ instance:
    • One to receive the messages sent to the main exchange with a dead letter exchange routing to the dead letter exchange above.
    • One to receive a second copy of messages sent to the main exchange for monitoring purposes.
    • One to receive dead letters.
    • One to receive unrouted messages.
  • Bindings from exchanges to queue are defined for deployment to the RabbitMQ instance:
    • The unrouted exchange sends messages to the unrouted queue.
    • The main exchange for incoming operations routes to the main queue with a routing key appropriate for the operation.
    • The main exchange also routes messages to the monitoring queue.

Dependencies
This story is blocked by the following dependencies:

  • We need access to the final enterprise managed RabbitMQ to do this work.

Additional context
It's not clear what the interface to the enterprise RabbitMQ is going to be at this point, so the approach taken might have to vary from that used for Heron and TOL, depending on what level of access we are given. Ideally this will be automated, but if we can't do that then we will have to trust that the enterprise RabbitMQ instance will never need to be reconfigured in future due to SLAs.

@sdjmchattie
Copy link
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants