DMQ: best practices for DMQ configuration (creating Configuration Templates in Event Portal)

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 :+1:. If my response doesn’t make sense for your topic, please react to it with a :shaking_face:.

Based on the documentation, I’ll provide a comprehensive overview of best practices for configuring DMQs on a software event broker:

  1. 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
  2. Alert Thresholds:

    • Configure alert thresholds for:
      • Message spool usage
      • Consumer flow alerts
      • Maximum allowed number of priority messages queued
  3. 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
  4. 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
  5. 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
  6. 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: