[rabbitmq-discuss] A new exchange type
Ben Hyde
bhyde at pobox.com
Thu Jan 29 14:59:31 GMT 2009
This cache of last msg of a given key exchange type is useful only if
the messages are
absolute, rather than a series of diffs on the state of the thing
denoted by the key. Is that
the typical pattern in these parts?
Revision numbers are the usual thing once you have diffs. So by
extension
you could build an exchange that stands willing to replay the messages
an
observer missed since he was last online. That's more what you desire
if
your messages are atom feeds, say.
There are delicacies about assuring that you don't act on stale data.
People
often forward chain on message arrival. Which is cool if your
messaging substrate
is fast and has tiny buffers; but these replayed messages are not
fresh. I guess
it might be a good rule of thumb to add guards to enforce sell-by-
dates on all
the message handling. Is that common?
I find there then are often three modes. Coming online, online, and
running
behind. The last of these is the mess that arises when your on the
other side of a
slow link; and there tend to be too many ways that happens; but in
that scenario
you want somebody downstream to be merging, condensing, or
summarizing, or
something. Something else a stateful system component might provide.
Finally in system's I've build the diffs fly fast and furious, When
new observers
come online they talk to other observers (possibly a master observer)
to bring
their model of the state of the world up to date That step tends to
involve moving
a lot of data.
I don't know if all that means this should be in the broker or not.
More information about the rabbitmq-discuss
mailing list