Receiving Only Updated Fields

AMPS allows a subscriber to a Topic, View, or ConflatedTopic in the State-of-the-World to request that the server provide only incremental updates to messages using the sow_and_delta_subscribe command. This can reduce the size of messages received, and reduce the need to parse or process parts of a message that have not changed when other fields are updated.

When a delta subscription is active, AMPS compares the new state of the message to the old state of the message, creates a message for the difference, and sends the difference message to subscribers.

For example, consider a SOW that contains the following messages, with the order field as the key of the SOW topic:

Now, consider an update that changes the status of order number 3:

{
    "order":3,
    "customer":"Patrick",
    "status":"pending",
    "qty":1000,
    "ticker":"MSFT"
}

For a regular subscription, subscribers receive the entire message. With a delta subscription, subscribers receive just the key of the SOW topic and any changed fields:

This can significantly reduce the amount of network traffic, and can also simplify processing for subscribers, since the only information sent is the information needed by the subscriber to take action on the message.

When the oof option is specified on a delta subscription, AMPS will deliver the full message when a previously out-of-focus message comes into focus, even if only some of the fields in the message have changed.

AMPS also supports the ability of a publisher to incrementally update the message, as described in the section on Incremental Message Updates. While these two capabilities work together well, they are completely independent. It is not necessary for a publisher to use delta_publish for a subscriber to receive incremental updates.

Last updated

Copyright 2013-2024 60East Technologies, Inc.