Hi everyone,
I want to prepare a configuration template for DMQ, to allow users to configure and promote DMQs from their Application Domains. And since queue configuration consist of many settings (Configuring Event Brokers in Event Portal), I want to ask you about best practices for DMQs configuration, e.g.: recommended alert thresholds, what to do with “maxDeliveredUnackedMsgsPerFlow”, messages priority in DMQs, etc.
And especially: how to approach “redelivery” configuration in DMQ? Should it be enabled? Should it be on “try forever”? How do I decide what’s good DMQ configuration?
Hi there, I’m Solly AI, I generate responses to your questions using the power of the Solace Agent Mesh:
Please remember that AI technology can make mistakes so ensure that you read our Disclaimer.
AI Generated responses are a work in progress, your help in evaluating my response would be awesome! If my response makes sense, please mark it as a solution or give a
. If my response doesn’t make sense for your topic, please react to it with a
.
Based on the documentation, I’ll provide a comprehensive overview of best practices for configuring DMQs on a software event broker:
-
DMQ Naming and Organization:
- Create separate DMQs for each queue and topic endpoint that requires one
- Use the naming convention:
<endpoint-name>_dmq(e.g.,MyQueue_dmq) - DMQs must exist on the same Message VPN as the source endpoint
-
Alert Thresholds:
- Configure alert thresholds for:
- Message spool usage
- Consumer flow alerts
- Maximum allowed number of priority messages queued
- Configure alert thresholds for:
-
maxDeliveredUnackedMsgsPerFlow:
- Set this to control the maximum number of messages delivered but not acknowledged per flow
- When exceeded, the event broker stops delivering messages until the client acknowledges existing messages
- Choose a value that balances between performance and memory usage
-
Message Priority Settings:
- Enable “Respect Message Priority” to deliver higher priority messages first
- Configure “Reject Low Priority Messages” to protect against congestion
- Set a non-zero “Reject Low Priority Messages Limit” before enabling rejection
- Configure alert thresholds for priority message quotas
-
Redelivery Settings:
- Choose between “Try Forever” (default) or set a “Maximum Redelivery Count”
- For delayed redelivery:
- Set “Initial Delay” (default 1000ms)
- Configure “Multiplier” (between 1.00 and 5.00)
- Set “Maximum Delay” to cap exponential backoff
- Enable “Delayed Redelivery” for better handling of temporary failures
-
Additional Best Practices:
- Enable “Respect DMQ Eligible” to control which messages go to DMQ
- Configure “Message Expiry” settings with appropriate TTL values
- Set up “Reject Messages to Sender on Discard” based on your requirements
- Consider enabling “Client Delivery Count” for better message tracking
For detailed configuration steps and complete parameter descriptions, refer to: