As you expand event-driven architecture (EDA) through your enterprise, you may find that individual event brokers are not sufficient and that large scale deployments work best when configured as an event mesh. An event mesh is a network of event brokers that allows events from one application to be dynamically routed and received by any other application, no matter where these applications are deployed within your infrastructure, your private cloud, or in a public cloud. In an event mesh, multiple event brokers function as nodes. Multiple nodes can be connected together to allow publishers and subscribers to reside in multiple public and private clouds
In a good EDA, you want applications to publish events to any event broker and be assured that subscribing applications receive those events in reliable and seamless fashion. An event mesh provides this capability.
An event mesh permits you to:
- build a software architecture that ensures that event messages are securely and reliably received by subscribing applications using interconnected event brokers
- share information between distributed, decoupled applications, which means that a publishing application can send events and a subscribing application can consume those events without the applications knowing about each other
- scale a mesh using event brokers that span multiple data centers
- trace topic flows
To help solidify your understanding, consider this simple scenario to see how an event mesh works:
Imagine that you have multiple applications connected to different event brokers in different geographic regions. The applications are distributed in separate clouds or data centers. In this example Subscriber A is connected to the event broker Broker-One, and is interested in events from both Publisher D and Publisher E. Because Publisher E is connected to a different event broker, Subscriber A receives events from Publisher D but not from Publisher E.
However, if the event brokers were configured as an event mesh, events sent to any event broker in the mesh can be forwarded to other event brokers in the mesh. Subscriber A can still connect only to Broker-One and receive all subscribed events from the publishing applications that are connected to a different event broker. As a result, subscribed events from both Publisher D and Publisher E are received by Subscriber A in a seamless manner.
For more in-depth information about event meshes, see Understanding Event Meshes and Mesh Manager.
Now that you understand what an event mesh does, let's learn more about one of the technologies that makes it possible: Dynamic Message Routing .