Did anybody mentioned ReliableMessaging with this regard or I missed it?
- Michael



________________________________
From: Patrick May <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, December 10, 2008 12:48:55 PM
Subject: Re: [service-orientated-architecture] Re: Roch Clarifies Some Key Terms


Dan,

Some implementations provide both fault tolerance and durability.  The one I 
use, for example, allows read-through / write-behind persistence to a database 
to address exactly the problem you note.  The vast majority of messages are 
picked up from memory, with a few requiring the additional latency of a 
database access.

Regards,

Patrick


On 8 Dec 2008, at 04:20, Udi Dahan wrote:

Patrick,
 
Actually, javaspaces provide fault tolerance via replication instead of 
durability, but, ok.
 
I’m quite familiar with using these kinds of technologies in scenarios similar 
to that which I outlined in my blog post and there are other issues that aren’t 
magically handled by the space, still requiring solutions like those I outlined.
 
For instance, when a publisher puts a message/event into the space, how long of 
a lease should it have? Too long and you may run out of memory in the space, 
too little and subscribers that were unavailable can miss it. That being said, 
these memory based solutions can be much more performant than disk based 
solutions.
 
Thanks,
 
--
Udi Dahan - The Software Simplist
 
From: service-orientated- architecture@ yahoogroups. com [mailto:service- 
orientated- architecture@ yahoogroups. com] On Behalf OfPatrick May
Sent: 07 December 2008 16:32
To: service-orientated- architecture@ yahoogroups. com
Subject: Re: [service-orientated -architecture] Re: Roch Clarifies Some Key 
Terms
 
            There is an alternative to implementing durable subscribers by 
persisting messages to disk for each subscriber.  A JavaSpace provides 
durability in-memory, with each message stored only once.  Publishers and 
subscribers can join and leave at any time without the need for complex 
coordination.
 
            I'll refrain from advertising on Gervas' list, but I work for a 
company that sells a distributed, highly available space implementation that is 
interoperable across multiple languages.  It is frequently used to address 
exactly the issues you mention in your blog post.
 
Regards,
 
Patrick
 
--
http://www.spe. com/pjm
 
On 7 Dec 2008, at 05:02, Udi Dahan wrote:


I’ve put a short article up on my blog about the whole issue of lost 
notifications and pub/sub.
 
Lost Notifications? No Problem.
 
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.
 
Interested in hearing feedback, especially on how this may impact the issues of 
monitoring and management Rob raised below.
 
--
Udi Dahan - The Software Simplist
 
From: service-orientated- architecture@ yahoogroups. com [mailto:service- 
orientated- architecture@ yahoogroups. com] On Behalf OfRob Eamon
Sent: 05 December 2008 19:34
To: service-orientated- architecture@ yahoogroups. com
Subject: [service-orientated -architecture] Re: Roch Clarifies Some Key Terms
 
--- In service-orientated- architecture@ yahoogroups. com, "Udi Dahan" 
<thesoftwaresimplist @...> wrote:
>
> 
> However, I'd assert that there are advantages to a pub/sub approach 
> over a non-pub/sub approach, not the least being that additional 
> subscribers can be added into the ecosystem without changes to pre-
> existing members.

That is a value of pub/sub, one that I think is touted well beyond 
its actual benefit. It is indeed relatively easy to add a new 
subscriber. What is less easy, and rarely mentioned, is the 
additional work that is usually needed to monitor and manage that new 
connection.

Pub/sub works best in a fire and forget mode--where publishers don't 
care if the message makes it. IME, many publishers care very much 
that the message gets to the intended recipients. Most business 
solutions don't lend themselves to "I don't care if the message 
doesn't make it." So one ends up creating elaborate monitoring and 
retry facilities to tend to the pub/sub garden.

I'd argue that the bulk of solutions implemented over pub/sub rarely 
if ever change the subscribing members. 1 publisher. 1-3 subscribers 
that don't change. So we introduce a flexible (and more complex)
solution approach that needs neither.

> The crux is, IMO, what is the semantic thing that you are pub/sub-
> ing?

Agreed. IMO, pub/sub is for things where: 1) publishers/process 
really don't care who is subscribing, nor if the messages get lost 
now and then (which is more or less the problem Ranadive and others 
addressed when they created TIB); 2) the subscribers change from time 
to time.

IMO and IME, those two criteria (relatively) rarely exist in business 
oriented systems.

> If the thing represents a command (imperative, present tense) like 
> place order, bill customer, etc, I'd say that pub/sub is a poor 
> solution.

I more or less agree, but I'm of the opinion that pub/sub is a poor 
solution in more situations than others tend to believe.

-Rob
No virus found in this incoming message.
Checked by AVG - http://www.avg. com
Version: 8.0.176 / Virus Database: 270.9.13/1826 - Release Date: 05/12/2008 
09:57
 
No virus found in this incoming message.
Checked by AVG - http://www.avg. com
Version: 8.0.176 / Virus Database: 270.9.13/1826 - Release Date: 06/12/2008 
16:55

----
[EMAIL PROTECTED]

S P Engineering, Inc.
Large scale, mission-critical, distributed OO systems design and implementation.
(C++, Java, Common Lisp, Jini, middleware, SOA)

 
 


      

Reply via email to