I’m looking for a way to clearly diagram how multiple applications communicate via a service bus. The best I’ve come up with so far is a sequence diagram, but I really don’t like that. Sequence diagrams imply some sort of sequence and that’s really not what I want. Since every service communicates with the service bus and sequence diagrams place each service on a separate column, as the number of services increases, you end up with a lot of overlapping arrows.
For example, given 4 services FOO
, BAR
, BAZ
, and QUX
:
Foo
publishes messages of type publish and regen.BAR
publishes messages of type requeue.BAZ
subscribes to messages of type publish, regen, and requeue, and publishes messages of type transmit.QUX
subscribes messages of type transmit.- Any service can publish any message type at any time (there is no implied sequence).
What kind of diagram should I use to clearly and unambiguously represent this information?
Here’s the best I’ve come up with so far:
Image may be NSFW.
Clik here to view.