Gianny Damour has got me thinking about how services relate to the cluster.

There are a couple of issues here:

a) how do we provide the cluster connection to multiple clustered services within the same node ? b) do we want to address a node (assuming one Connection/Destination per node) or a service ?

(a) Either, every service contains its own private cluster Connection, in which case we would expect overhead to increase as we start more and more services within a node, Or, we come up with e.g. a multiplexed Cluster or Connection Factory, which can hand out what look like Cluster or Connection objects to these services which are then able to multiplex their conversations down a single Connection, in which case we would expect no increase in overhead but rather in contention as the number of services in a node increase. By remaining with the original Cluster/Connection API we could allow these two approaches to be deploy-time pluggable....

(b) if we go with the multiplexing idea, then I guess it would be cheap enough that every service might be able to think that it owns a private cluster connection, whilst it is actually sharing it with all other services within the node... - This allows us to dispatch messages at service rather than connection level and simplifies the decoupling of services since the same code will now run happily on a private or shared Connection.

Of course, ActiveCluster may already support this sort of thing - I am just dumping thoughts into the ether.... James, have you anything to add ? Can you e.g. run more than one ActiveSpace Space/Cache instance on the same node in the same Cluster, without making more than one Connection ? Or are Connections already doing this sort of stuff internally to the point that you would not want to ?

cheers,


Jules


--
"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."

/**********************************
* Jules Gosnell
* Partner
* Core Developers Network (Europe)
*
*    www.coredevelopers.net
*
* Open Source Training & Support.
**********************************/

Reply via email to