From e8fa9592d10d0f864187c73d43a7991ac3a5c509 Mon Sep 17 00:00:00 2001 From: Adrian Clay Date: Fri, 29 Sep 2023 15:49:39 +0100 Subject: [PATCH] Add MQ section to OPERATING.md The content has been plagiarised from the GP2GP adaptor --- OPERATING.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/OPERATING.md b/OPERATING.md index 5256c2b5d..6e8cb6123 100644 --- a/OPERATING.md +++ b/OPERATING.md @@ -78,6 +78,22 @@ $ docker run --rm -e PS_DB_OWNER_NAME=postgres -e POSTGRES_PASSWORD=super5ecret ## Message broker requirements +* The broker must be configured with a limited number of retries and dead-letter queues +* It is the responsibility of the GP supplier to configure adequate monitoring against the dead-letter queues that allows ALL undeliverable messages to be investigated fully. +* The broker must use persistent queues to avoid loss of data +* The Adaptor has been assured against ActiveMQ, the use of other MQ implementations is the responsibility of the GP supplier to test + +**Using AmazonMQ** + +* A persistent broker (not in-memory) must be used to avoid data loss. +* A configuration profile that includes settings for [retry and dead-lettering](https://activemq.apache.org/message-redelivery-and-dlq-handling.html) must be applied. +* AmazonMQ uses the scheme `amqp+ssl://` but this **MUST** be changed to `amqps://` when configuring the adaptor. + +**Using Azure Service Bus** + +* The ASB must use [MaxDeliveryCount and dead-lettering](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dead-letter-queues#exceeding-maxdeliverycount) +* Azure Service Bus may require some parameters as part of the URL configuration. For example: `PS_AMQP_BROKER=amqps://.servicebus.windows.net/;SharedAccessKeyName=;SharedAccessKey=` + ## Object storage Data stored: EhrExtract attachments of MHS Inbound, pre-signed S3 url is generated for stored attachments