Udi Dahan wrote:
> In it I outline how the various performance and availability
> characteristics of different services may cause a subscriber to miss a
> notification and how to feed that back into the design process to get a
> service ecosystem where notifications (different kinds than before)
> won’t be lost or missed.
At some point, a publisher with an intermediary sub->pub gateway, can overwhelm
the gateway which might have a dead destination (a database for example). When
that happens, the publisher has to backoff and stop publishing, or take an
alternate route.
My broker refuses data when it can no longer persist it before delivery to the
next destination. All clients have to understand this issue and deal with it.
Because of how this is implemented, (network connection closed for MQTT for
example), it becomes the same failure scenario as no broker accessible, and so
the publishers can roll to another broker etc.
At the end of the day, a broker can erupt in a ball of fire, so you really
can't
rely on just the persistence to disk before publishing (by the broker) to be
the
solution for "disconnected subscribers". A subscriber has to have a
relationship with a publisher that means the QOS for data flow that you need.
If that subscriber needs the data again, it needs to be able to ask for it.
All subscribers of that data need to understand duplicates, out of order flows
and otherwise unexpected data. If your pub/sub system design takes all of
these
factors into play, then your brokering system becomes an IP network and the
publishers and subscribers become TCP endpoints that can request
retransmission,
throttling etc.
Gregg Wonderly
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/service-orientated-architecture/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/service-orientated-architecture/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/