how to identify remote server?
mazz Mar 23, 2005 5:10 PMThis may or may not be a requirement on the higher level services that sit on top of JBoss/Remoting, but wanted thoughts on this use-case.
Picture a cluster of remoted services sitting out on the network. Services come up and down during the normal life of the network, and each service is utilizing the MulticastDetector to auto-discover things as they come and go.
How does one of those individual services know what KIND of service it discovers?
The NetworkRegistry has a JMX notification mechanism - so each individual service is getting notifications that include info like the locator URL of the newly discovered service, the domain name, etc. etc. But, that information is the SAME no matter what KIND of service has been discovered.
Is there a way to customize that notification information?
To be more specific, here's my actual use-case. Each machine on the cluster has an "agent" running on it. Each "agent" wants to connect to a main "server". There is only one "server" service running on the network - the "mothership"; think hub-and-spoke where the mothership server is the hub and all agents are the spokes. All "agents" want to communicate with the mothership server. As the agents come up, they use the NetworkRegistry to auto-discover all the services on the network - looking specifically for the mothership server. When it finds the mothership server, it sends some information to it.
Question - when an individual agent gets auto-discover notifications, how can it know if the newly discovered remote service is the "mothership" or just another agent? Agents don't care about other agents, only cares to find the mothership.
Ignore other solutions like "just tell the agent through a configuration file the locator URL of the mothership". I want this auto-discovery to allow the agent to automatically find the mothership - allowing the mothership to move around to other machines on the network should it have to. I also might like to have the ability to have more than one mothership.
I suppose the agent can send a message to the remote service and ask it "are you a mothership" but if you picture 1,000s of agents, you don't want to flood the network with these query messages everytime a new agent or mothership comes online.