Design details

Messages are organized in Topics that are made available to multiple Subscribers. A Publisher posts new messages to the Topic and notifies Subscribers as illustrated on the following flow chart.

Flow

Messaging pattern

New record

Publisher (Topic)Subscriber (Subscription)
A user creates a new record – the changelog is updated.
The data is converted to:
Topic record
Topic message
Notifies the subscribers that new Topic messages is available.
Requests to receive new Topic messages.
Returns the new message to the subscriber.
Saves the received message as a Subscription message.
Sends feedback to the publisher.
Registers consumed Topic messages.
Creates a Subscription record and process it.

Update record

Publisher (Topic)Subscriber (Subscription)
A user updates a record – the changelog is updated.
The publisher converts the data into a Topic message.
Notifies the subscribers that new Topic messages is available.
Requests to receive new Topic messages.
Returns the new message to the subscriber.
Saves the received message as a Subscription message and process it.
Sends feedback to the publisher.
Registers consumed Topic messages.

Link to Youtube.