Re: Something about the insides of Javaspace?
Gregg Wonderly <[email protected]> Thu, 21 Sep 2006 07:29:19 -0500
| Newsgroups | gmane.comp.java.sun.javaspaces |
|---|---|
| Message-ID | <[email protected]> |
Christian Hager wrote: > I'm new to Javaspaces and would be interested in about some details of > the insides of Javaspace. For example such as if the Javaspace is > located only on one machine or if it is spread over the network. What > about if the machine with the Javaspace fails? Is there any way to reach > redundancy or will the whole distrbuted application crash if the > Javaspace crashes? > I was hoping anyone here could tell something about this or maybe point > me out to some place where I can find further information about the > insides of Javaspaces. The Javaspaces API doesn't explicitly include any notion of failover, redundancy or other such things. However, implementations of the API can provide such things as you can see in the Gigaspaces literature. What is important to realize is that different applications may need different solutions. A LAN distributed application can probably survive with a heftier machine that includes dual power supplies and hot swappable RAID disks. A WAN distributed application where there is less centralized knowledge and control, would benefit from some form of failover, which can be realized in a number of ways, including the use of the ServiceDiscoveryManager for locating the Javaspaces instance that you should use. Due to the cost ranges associated with various types of solutions, it makes sense to decide what is best for your application and then find a product/existing implementation that does this, or implement what you need directly. Jini leasing and service discovery allow failed services to disappear from view, and new services to come into view so that failover can be as trivial as stoping one instance and starting another. In distributed systems, there are various issues that need to be considered. One of the predominate design problems that programmers can create for themselves is to make all parts of the system responsible for transport guarentees. If something has to be transported, end to end, the best strategy is to make each end responsible, and let the intervening systems be best effort transport providers. The design of the TCP protocol works this way, and it makes routers much smaller and much less a part of the problem because they don't have to understand infinite application protocols. Gregg Wonderly =========================================================================== 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