Re: Scalable publish/subcribe with JavaSpaces ?
Dan Creswell <[email protected]> Wed, 28 Feb 2007 20:10:05 +0000
| Newsgroups | gmane.comp.java.sun.javaspaces |
|---|---|
| Message-ID | <[email protected]> |
Hi, Before attempting to answer any of these questions - have you considered the registerForAvailability method on JavaSpace05 in your thinking so far? http://www.jini.org/files/specs/porter/api/net/jini/space/JavaSpace05.html Best wishes, Dan. Christian wrote: > Hi, > I was just asking myself how the notify operation that was added to the > JavaSpaces API (compared to the original set of operations available in > the Linda tuple space) positions it to the publish/subscribe paradigm. > One might think at the first sight that by introducing the notify > operation into the space API a new communication paradigm is created > that is more complex and more powerful than simple publish/subscribe. > > However, the persistent nature of the shared data space has also a flip > side. > The common task that is typical for all publish/subscribe services, > namely simply the notification of all interested subscribers about an > event, is very difficult to implemented in a scalable fashion. > Saving all notifications that occur in the space is usually not possible > because most application scenarios involve so many notifications that > the space will run out of memory. > The normal eviction functionality of tuple spaces cannot be used either > to remove notifications. If the “time to live” property of a tuple is to > short it might not get delivered to all interested subscribers, if it is > too long the space could again run out of memory. > > In order to handle huge amounts of notifications in a short time, each > space would have to know the exact number of active subscribers for a > notification in order to decide whether a notification can be removed > safely. > This number however can change dynamically during the lifetime of a > notification. Another approach would be to automatically delete a > “notification tuple” after it has been matched to all templates that > were active at the time the matching process began. > This behaviour would need a special treatment of “notification tuples”. > The support for these “one-shot” tuples is as far as I understand not > really part of the idea behind shared data spaces (namely using a share > space to persist data) > and would require a special space implementation. > > I know that there are publish/subscribe implementations that are based > on tuple spaces. For example GigaSpaces offers a JMS API. > I was wondering whether this is only possible by creating a new space > implementation or whether it can be done with the current JavaSpace API. > Note, that I'm talking about huge amounts of notifications that are > published in a short time frame. > I think publish/subscribe with small or moderate notifcations rates > should be realizable with the current JavaSpace implementation. > > I really would like to hear your opinions and thoughts about this topic. > > Best regards > Christian > =========================================================================== > To unsubscribe, send email to [email protected] and include in the body > of the message "signoff JAVASPACES-USERS". For general help, send email to > [email protected] and include in the body of the message "help". > > To view past JAVASPACES-USERS postings, please see: > http://archives.java.sun.com/archives/javaspaces-users.html > =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff JAVASPACES-USERS". For general help, send email to [email protected] and include in the body of the message "help". To view past JAVASPACES-USERS postings, please see: http://archives.java.sun.com/archives/javaspaces-users.html