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/

Reply via email to