Book a consultation

Solace Event Mesh: How Brokers Link Plants, Data Centres and Clouds

Solace Dynamic Message Routing: How DMR Propagates Subscriptions

Solace dynamic message routing explained: how DMR shares subscriptions between brokers, forwards one copy per link, prevents loops, and where it gets hard.

Vladimir Romanov


Solace dynamic message routing (DMR) is how Solace Event Brokers learn what each other’s clients want and forward events accordingly. Each broker advertises its clients’ topic subscriptions to its neighbours; when an event is published, it crosses a link only if someone on the far side subscribed to its topic, and only one copy crosses each link. That is what turns a set of brokers into an event mesh. This page walks through the mechanism step by step, explains why it cannot loop, and sets out where a multi-site DMR design gets hard.

It belongs to the event mesh overview in the Solace cluster.

The three building blocks of DMR

The DMR overview defines the vocabulary:

  • Cluster: a group of broker nodes in which “each node … has a connection to every other node”. A cluster usually maps to one site or one cloud region.
  • Internal links: the connections inside a cluster, forming a full mesh. They add capacity at one site (horizontal scaling).
  • External links: the connections between clusters, made through a gateway node in each cluster. They add reach across sites and clouds (multi-site scaling).

DMR replaced Multi-Node Routing (MNR), Solace’s older linking technology, and the documentation is blunt: MNR and DMR “cannot be used at the same time. They are mutually exclusive.” A plant estate that grew up on MNR cannot mix the two during a migration.

How Solace dynamic message routing propagates subscriptions

The subscription propagation page describes two flows that run in opposite directions: subscriptions (control) travel from subscribers towards publishers, and events (data) travel back along the same path.

DMR subscription propagation and event forwarding between two clusters Cluster A in a plant has node A1 with a publisher and gateway node A2. Cluster B in the data centre has gateway node B1 and node B2 with a subscriber to the topic site/*/oee. Dashed orange arrows above the nodes show the subscription moving right to left: step 1 the subscriber registers on B2, step 2 B2 advertises it to B1 over the internal link, step 3 B1 advertises the cluster's subscriptions to A2 over the external link, step 4 A2 advertises to A1. Solid blue arrows below the nodes show a matching event moving left to right: A1 to A2, A2 to B1, B1 to B2, one copy per link. Receiving nodes never re-propagate a subscription or re-forward an event onto another link of the same kind. Subscriptions flow towards the publisher; events flow back, one copy per link Cluster A: plant Cluster B: data centre Node A1 Gateway A2 Gateway B1 Node B2 2 advertise 3 cluster set 4 advertise 1 copy Publisher Sub: site/*/oee 1 internal link subscription (control channel) event (data channel) A node never passes a received subscription or event onto another link of the same kind.
Subscriptions set up the path and events follow it back. Because nothing is re-forwarded onto a second link of the same kind, loops are impossible, and a cluster can only reach clusters it is directly linked to.

Step by step:

  1. A client subscribes on node B2, for example to site/*/oee.
  2. B2 advertises the subscription to the nodes directly connected to it in cluster B. Solace documents that the receiving nodes “don’t further propagate those subscriptions”.
  3. The gateway aggregates and advertises the full subscription set of its cluster to connected clusters. Again, the receiving cluster does not re-transmit it.
  4. Inside cluster A, the gateway’s interest becomes known to the other nodes, so a publisher on A1 has a path.
  5. An event is published on A1 to site/plant-a/oee. It matches, so A1 sends one copy to A2, A2 sends one copy over the external link, and B1 delivers to B2.

Subscriptions are summarised before they are shared. If fifty clients on a node hold the same subscription, Solace states that only one is propagated. That keeps the control traffic proportional to the number of distinct interests, not the number of clients.

Wildcards make propagation efficient, or expensive. One subscriber to site/> in the data centre pulls every event from every site across the WAN. That is a design choice, not a bug, and it is the most common way a mesh surprises its owners. The topics and wildcards page explains how to shape a hierarchy so that the wildcards people need are narrow.

Why Solace dynamic message routing cannot loop

The forwarding rule is the same as the subscription rule. Solace’s documentation says that “only one copy of a message is sent over the internal link”, that receiving nodes “don’t transmit the data any further”, and that “since a message from a source node only traverses a single channel to get to a destination, forwarding loops never exist.”

The design consequence is direct links. Because a cluster never relays traffic for another cluster, two clusters that must exchange events need an external link between them. Solace Cloud’s Mesh Manager reflects this: it connects the DMR clusters of the event broker services in a mesh as a “full mesh”. In a self-managed estate, you build those links yourself.

DMR compared with the alternatives for linking brokers

MethodHow topics are chosenWho configures what crossesTypical use
DMR internal linksAutomatically, from live subscriptionsNobody, once the cluster existsScaling one site across several nodes
DMR external linksAutomatically, from live subscriptionsNobody, once the link existsLinking sites and clouds into a mesh
Message VPN bridgeA fixed list of topic subscriptions on the bridgeThe broker administrator, per topicA controlled crossing, such as an OT to IT boundary
MNR (legacy)AutomaticallyNot for new designs; cannot coexist with DMROlder estates only

A Message VPN bridge is the explicit alternative. It delivers only the topics configured on it, and Guaranteed messages need a bridge queue on the remote VPN. That makes it harder to change and easier to audit, which is exactly what a firewall owner between OT and IT wants. See Message VPNs and security for that pattern.

Aerial view of a rail switching yard with many tracks and parked freight cars
Like a switching yard, DMR sends each event down the track its subscribers asked for, and an event nobody asked for never leaves its home site.

What DMR does with guaranteed messages and failures

Solace states that “DMR preserves the quality of service for the message as published.” For a plant this has a practical reading:

  • Guaranteed events survive a node or link failure. Messages destined for a failed node “continue to be enqueued on its neighbouring nodes” until they can be delivered. Size the spool on the plant gateway for the longest WAN outage you plan to ride through.
  • Direct events do not. A Direct event published while the path is down is lost. Line states that are republished every few seconds can be Direct; an order confirmation or a quality result should be Guaranteed. Guaranteed messaging explains the queues behind this.
  • Each node should itself be highly available. DMR moves events between brokers; it does not make a single broker redundant. That is the job of an HA group, covered on high availability and disaster recovery.

Where it gets hard

  • Wildcard creep. A consumer subscribed to > or site/> pulls every matching event across every link it can reach. Agree who may subscribe with broad wildcards, and enforce it with ACLs.
  • Full-mesh growth. Every pair of clusters that exchanges events needs a link. Ten clusters fully meshed is 45 external links, each with firewall rules, certificates and monitoring. Decide early which plants really need to talk to each other and which only talk to the centre.
  • WAN sizing from subscriptions, not from publishers. Traffic on a link is set by what the far side subscribes to. A new dashboard in the cloud can double a plant’s outbound traffic without any change at the plant. Monitor link rates, not only broker rates.
  • Standard Edition caps. Solace lists DMR on the free Standard Edition as performance-capped and the edition as not production deployable. See Standard vs Enterprise.
  • Mixed estates. Mesh Manager builds links for Solace Cloud Enterprise services. Self-managed brokers at plants need their own configuration process, ideally as code through the Solace Terraform providers, so that the twentieth site is built the same way as the first.
  • Migrating from MNR. Because MNR and DMR are mutually exclusive, the cutover needs a plan per broker, not a gradual blend.

For how DMR behaves when brokers sit in different clouds and your own data centre, continue to hybrid and multi-cloud. If the plant WAN and firewall design is the open question, our IT/OT integration work starts there.

Frequently asked questions

What is Solace Dynamic Message Routing?

Dynamic Message Routing (DMR) is the technology that links Solace Event Brokers into an event mesh. Brokers advertise their clients' topic subscriptions to each other and then forward each published event only to brokers with a matching subscription. Inside a site, nodes form a fully meshed cluster over internal links; between sites, clusters connect through gateway nodes over external links.

How does DMR prevent message loops?

By never re-forwarding. Solace documents that a node receiving subscriptions or events from a neighbour does not pass them on, and that a message from a source node traverses a single channel to reach its destination, so forwarding loops cannot exist. The price is topology: clusters that must exchange events need a direct link.

Does DMR carry guaranteed messages?

Yes. Solace states that DMR supports both Direct and Guaranteed messages and preserves the quality of service the publisher chose. Guaranteed messages for a node that has failed stay enqueued on its neighbouring nodes until they can be delivered. Direct messages published while a link or node is down are lost, as they would be on a single broker.

What is the difference between DMR and MNR?

Multi-Node Routing (MNR) is Solace's older routing technology for linking brokers. DMR replaced it as the basis of the event mesh. Solace's documentation states the two are mutually exclusive and cannot be used at the same time, so an estate still running MNR needs a migration plan rather than a gradual mix.

Do I need DMR or a Message VPN bridge?

Use DMR when subscribers should be able to appear anywhere and receive events without anyone editing link configuration. Use a Message VPN bridge when you want a fixed, explicitly configured list of topics to cross a boundary, such as a firewall between OT and IT zones. Many designs use DMR inside the enterprise and bridges at the plant boundary.

References and further reading

  1. Dynamic Message Routing Overview · Solace documentationClusters, internal and external links, gateway nodes, and DMR versus MNR.
  2. DMR Subscription Propagation and Data Forwarding · Solace documentationThe rules behind one copy per link and no forwarding loops.
  3. Multi-Site Connectivity · Solace documentation
  4. Understanding Event Meshes and Mesh Manager · Solace documentationHow Solace Cloud builds the external links for you.
  5. Message VPN Bridges Overview · Solace documentationThe explicitly configured alternative to DMR.

← Event Mesh

Have a project that needs technical ownership?

Send us the situation. If it is not something we should take on, we will say so.