Publish-Subscribe
One publisher, many independent subscribers.
- Format.puml
- Length20 lines
- LibraryEnterprise Integration Patterns
The source
20 lines of PlantUML, and pulls in Enterprise Integration Patterns. Copy it, or open the template inside Gnomon and render it as it is.
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/EIP-PlantUML/main/dist/EIP-PlantUML.puml
title Publish-Subscribe Pattern
MessagingGateway(publisher, "Event Publisher")
PubSubChannel(topic, "Order Events")
DurableSubscriber(inventory, "Inventory Service")
DurableSubscriber(shipping, "Shipping Service")
DurableSubscriber(billing, "Billing Service")
NonDurableSubscriber(analytics, "Analytics Service")
Send(publisher, topic)
Send(topic, inventory)
Send(topic, shipping)
Send(topic, billing)
Send(topic, analytics)
@endumlRender this offline
This template ships in Gnomon and renders on your machine, with no account and nothing sent to a server. The browser editor is free and needs no install.
Others in Enterprise integration pattern diagrams
- Simple MessagingA channel and two endpoints: the vocabulary in miniature.
- Content-Based RouterRoute by message content. Where most integrations start.
- Splitter-AggregatorSplit a message, process the parts, put them back together.
- Pipes and FiltersA processing chain where each stage is replaceable.
- Request-ReplyAsync messaging that still needs an answer.
- Error HandlingWhat happens when a message cannot be processed. Draw this one.
- Wire Tap (Monitoring)Observe traffic without changing it: for audit and monitoring.