/
RabbitMQ Dead Letter Queue
RabbitMQ Dead Letter Queue
RabbitMQ Dead Letter Queue
Introduction
To prevent data loss of RabbitMQ queue, Insights product will handle this with help of RabbitMQ dead letter queue.
Pre-Requisite:
- Dead letter exchanges (DLXs) are normal exchanges, Insights planning maintain one queue for whole application.
- DLX attached to normal queue (Health and Data) at the time declaration of queue, this means that user has to delete all their queue before activating DLX in their environment.
- Insights Version 8.1+ support this functionality
- If you already have agent registered, do the following steps in sequence
- Stop All Agent
- Consume all data from queue
- Stop Engine, Daemon Agent and platform service
- Delete all existing queue
- Activate DLX mention in below section and start all services
Activation:
- Activate it in all configuration files mentioned below
In server-config for PaltformService and PlatfromEngine
Enable enableDeadLetterExchange in messageQueue section of server-config.json
"messageQueue": {
"host": "localhost",
"port": 5672,
"user": "",
"password": "",
"prefetchCount": 5,
"enableDeadLetterExchange":false
},
In Deamon Agent and In Agent
Enable enableDeadLetterExchange in mqConfig section of Config.json
In PlatformInsightsWebHook
Enable app.enableDeadLetterExchange in webhook_subscriber.properties
2.Restart all services after property changes
How to use it
- One user activates DLX, application will create "iRecover" Exchange name with type "fanout" in RabbitMq
- INSIGHTS_RECOVER_QUEUE will be created.
- Declaration of DLX in RabbitMQ
Queue
Exchange
Agent/WebHook Queue
- When any exception occurs during processing of messages then Insights application Reject that message and it will send to DLX Queue
- Message in INSIGHTS_RECOVER_QUEUE of DLX contain in following format
Upgrading from older version of Insights
- Stop All Agent
- Consume all data from queue
- Stop Engine, Daemon Agent and platform service
- Delete all existing queue
- Activate DLX mention in above section
- start all services
Deactivating DLX
- Stop All Agent
- Consume all data from queue
- Stop Engine, Daemon Agent and platform service
- Delete all existing queue
- Deactivate DLX by disabling enableDeadLetterExchange to false in server-config.json, Agents config.json and daemon agent config.json
- Start all services
, multiple selections available,
Related content
WebHook Agent Configuration
WebHook Agent Configuration
Read with this
RabbitMQ Troubleshooting - Crash due to corrupt queues
RabbitMQ Troubleshooting - Crash due to corrupt queues
More like this
Windows Installation
Windows Installation
Read with this
AWS SQS (Simple Queue Service) Provider Configuration
AWS SQS (Simple Queue Service) Provider Configuration
More like this
Subscribe/Unsubscribe to Webhook
Subscribe/Unsubscribe to Webhook
More like this
Webhook Subscriber and Webhook Engine
Webhook Subscriber and Webhook Engine
More like this
©2021 Cognizant, all rights reserved. US Patent 10,410,152