← Back to Portfolio

Solace Event Topology

An event-driven architecture design featuring Solace PubSub+ creating a distributed Event Mesh. It illustrates how loosely coupled services publish events to topics, which are dynamically routed to consuming subscriber queues.

graph LR subgraph Publishers[Event Publishers] Order[Order Service] Billing[Billing Service] User[User Service] end subgraph Mesh[Solace PubSub+ Event Mesh] Broker1((Broker Node 1)) Broker2((Broker Node 2)) Broker3((Broker Node 3)) Broker1 --- Broker2 Broker2 --- Broker3 Broker3 --- Broker1 Topic1[[orders/created]] Topic2[[billing/invoice/generated]] Broker1 -.-> Topic1 Broker2 -.-> Topic2 end subgraph Subscribers[Event Subscribers] Q1[(Order Queue)] Q2[(Audit Queue)] Q3[(Notification Queue)] OrderSync[ERP Sync App] AuditApp[Audit Logger] NotifApp[Email Service] end Order -->|Publish| Topic1 Billing -->|Publish| Topic2 Topic1 ==>|Route to Sub| Q1 Topic1 ==>|Route to Sub| Q2 Topic2 ==>|Route to Sub| Q3 Q1 -->|Consume| OrderSync Q2 -->|Consume| AuditApp Q3 -->|Consume| NotifApp classDef pub fill:#eff6ff,stroke:#3b82f6,stroke-width:2px,color:#1d4ed8; classDef sub fill:#f0fdf4,stroke:#22c55e,stroke-width:2px,color:#15803d; classDef mesh fill:#fef2f2,stroke:#ef4444,stroke-width:2px,color:#b91c1c; class Publishers pub; class Subscribers sub; class Mesh mesh;