Pub-sub
Having decided on your topic structure and the format of your data, consider how you publish the data through the topics.
Pub-sub is the primary model of data distribution used by
Diffusion™
. Clients subscribe to a topic. When data is
published to the topic as an update,
the
Diffusion
server
pushes that
update out to all of the subscribed clients.
A client can both publish to topics and subscribe to topics, depending on the
permissions that client has.
Concepts
- Update
- An update is data published to a topic by a client that is applied to the topic to change the topic state. The updated data is then pushed out to all subscribing clients.
- State
- The latest published values of all data items on the topic. The state of a topic is stored on the Diffusion server .
- Value
- A value is an update that contains the current state of all data on the topic.
- Delta
- A delta is an update that contains only those items of data that have changed on the topic since the last update was sent.
- Topic loading
- When a client first subscribes to a topic, it is sent a topic load message. A topic load is a value update that contains the current state of the topic.
- Fetch
- A request for the current state of all data on the topic. A client can fetch a topic's state without being subscribed to the topic. This request-response mechanism of getting data from a topic is separate from topic subscriptions.
- Topic notifications
- A client can register to receive topic notifications which provide information about which topics exist in the topic tree, but not the topic values. This is useful if your client needs to monitor the structure of the topic tree (or part of the tree) without the overhead of receiving all the values. Registering for notifications is separate from subscribing to a topic.