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.
Figure 1. Pub-sub model
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.