Broadcast
One producer publishes to an open topic that any admitted party subscribes to and reads.
One producer publishes to an open topic that any admitted party subscribes to and reads.
Diagram
This diagram is free to copy into your own presentation. The publisher does not maintain a recipient list; each admitted subscriber pulls from the open topic on its own initiative.
When to use, when not to use
When to use. Use broadcast when a single producer publishes to an open topic and any admitted party may subscribe and read on its own initiative. Distribution is subscriber-driven: the producer does not enumerate or maintain a recipient list, and admission is by open subscription to the topic rather than by invitation of named parties. This is the right pattern when the reader set is open-ended and self-service, and when the producer should not have to know in advance who will read.
When not to use. If the record must go to a specific, enumerated set of recipients that the producer defines and pushes to, use one-to-many instead: the distinguishing choices are admission: invited (a named list) versus admission: open-subscription (an open topic), and delivery.mode: push (the producer delivers to each named recipient) versus delivery.mode: subscribe (admitted parties read the open topic on their own initiative). If a party should receive a bounded answer to a specific question rather than read a stream of published records, use request-response.
Example configuration (YAML)
pattern: broadcast
protocol_version: "0.1"
exchange:
topology: broadcast
participants:
- publisher
- subscriber
admission: open-subscription
delivery:
mode: subscribe
ordering: per-topic
payload:
encryption: field-level
disclosure: selective
audit:
anchor: public-audit-layer
proof: per-recordUse case
This template fits a publisher posting verifiable records to an open topic that admitted subscribers read, illustrated by the passport photo authenticity use case, where verifiable records of authenticity are published for any admitted party to check rather than pushed to a fixed list. It configures the base data-sharing protocol.