Anchor | ||||
---|---|---|---|---|
|
Geronimo Clustering Overview - 10,000 feet...
Clustering is one of the key features that distinguishes an enterprise JEE implementation from the rest of the pack. As such it is an important requirement for Apache Geronimo.
...
We will enumerate and examine these usecases.
Web
URL: http://java.sun.com/products/servlet/download.html#specs
Interest Group: Jules Gosnell, Jan Bartel, Jeff Genender, David Jencks,...
...
Dev Threads
WADI and Network Partitions: http://www.mail-archive.com/dev%40geronimo.apache.org/msg15855.html
WADI/AS merger - http://www.mail-archive.com/dev@geronimo.apache.org/msg14749.html
EJB
URL: http://java.sun.com/products/ejb/docs.html#specs
Interest group: David Blevins, Gianny Damour
...
Dev Threads:
client stubs and load-balancing: http://www.mail-archive.com/dev@geronimo.apache.org/msg13533.html
AC in client stub: http://www.mail-archive.com/dev@geronimo.apache.org/msg14756.html
Entity invalidation...
JNDI
Interest Group: Rajith Attapattu http://java.sun.com/products/jndi/1.2/javadoc/
...
Dev Threads:
ActiveSpace in JNDI: http://www.mail-archive.com/dev@geronimo.apache.org/msg14743.html
WADI/AS merger - http://www.mail-archive.com/dev@geronimo.apache.org/msg14749.html
JMS
http://java.sun.com/products/jms/docs.html
...
Dev Threads:
AMQ Clustering: http://www.mail-archive.com/dev%40geronimo.apache.org/msg15717.html
Deployment
http://jcp.org/en/jsr/detail?id=088
...
WADI,AC,AS & Deployment: http://www.mail-archive.com/dev@geronimo.apache.org/msg15214.html
Management/Monitoring
http://jcp.org/en/jsr/detail?id=077
...
- history - perhaps selected statistics snapshots should be dropped
into JMS every few secs by each server, then stashed in an rrdb ?
(WHEN, WHERE, WHAT, VALUE)
POJO
JCache - http://jcp.org/en/jsr/detail?id=107
- all of the above - whatever is available to Geronimo should be available to application-space pojos.
- JCache, and related technologies...
- suggested impls - ActiveSpace/WADI
DB
any takers ?
Trans-Tier issues
Network Partitions: check out 'Totem' thread on dev - not yet archived...
Application Session: http://www.mail-archive.com/dev@geronimo.apache.org/msg12072.html
clustering shopping list: http://www.mail-archive.com/dev@geronimo.apache.org/msg10561.html
Web Services
Interest Group: Rajith Attapattu
...
Suggested impl - WADI/ActiveSpace - more discussion needed here
Clustering Substrate
- suggested impl - ActiveCluster on top of various protocols
Auto-wiring
- clients need to autolocate nodes (ejb-client->jndi-port, http-load-balancer->http=port etc...)...
- nodes on same box need to negotiate ownership of per-host resources (e.g. ports)
Homogeneous vs Heterogeneous deployments
- homogeneous cluster is one set of nodes - the universal set
- heterogeneous cluster is one set (the universal set), with subsets defining internal scopes
Perhaps ActiveCluster could be extended to allow subclusters via the
same Cluster connection, or we could use multiple cluster
connections, or an AMQ MessageGroups...?
WADI/ActiveSpace synergy
WADI and ActiveSpace are complimentary technologies. There is a scope for API convergence and code reuse here. If the two could coexist behind the same API, we might be able to completely abstract the Cache impl from the consumer, giving more flexibility and allowing us to tailor solutions more closely to particular problems.
Suggested Building Blocks
ActiveMQ
URL: http://incubator.apache.org/activemq/
Interest Group: James Strachan, Hiram Chirino, ...
Geronimo's JMS implementation with pluggable transports including a peer: // protocol which allows peers in a cluster to message each other directly without the need for a central broker.
ActiveCluster
URL: http://activecluster.codehaus.org/
Interest Group: James Strachan, Hiram Chirino, ...
An API providing basic clustering fn-ality (specifically membership change notification) along with 1->all and 1->1 messaging. Also, various impls of this API, the most notable using ActiveMQ.
ActiveSpace
URL: http://activespace.codehaus.org/
Interest Group: James Strachan, Hiram Chirino, ...
Provides two abstractions, a JCache style Cache (replicated and/or transactional) and a JavaSpaces style Space, for distributed computing.
WADI
URL: http://wadi.codehaus.org/
Interest Group: Jules Gosnell,...
Provides Jetty and Tomcat compatible SessionManagers, a portable HttpSession impl and a partitioned distributed cache, for support of distributable webapps. OpenEJB SFSB support, also underway.
Tomcat Clustering
URL: http://tomcat.apache.org/tomcat-5.0-doc/cluster-howto.html
Interest Group: Jeff Genender, ...
Clustered HttpSessions for Tomcat (not Jetty).
1->All replication, so clusters constrained to a few nodes
EVS4J/TOTEM
URL: http://www.bway.net/~lichtner/evs4j.html
Interest Group: Guglielmo Lichtner
...
Introduction: http://www.mail-archive.com/dev%40geronimo.apache.org/msg15644.html
Totem and ActiveCluster: http://www.mail-archive.com/dev%40geronimo.apache.org/msg15695.html
Infiniband: http://www.mail-archive.com/dev%40geronimo.apache.org/msg15743.html
Further Discussion
Further Reading
http://portal.acm.org/citation.cfm?id=326136 http://scholar.google.com/url?sa=U&q=http://historical.ncstrl.org/tr/ps/cornellcs/TR99-1726.ps http://www.jgroups.org/javagroupsnew/docs/index.html http://citeseer.csail.mit.edu/amir95totem.html http://docs.codehaus.org/display/WADI/Library http://citeseer.ist.psu.edu/32449.html
...