Hi!
I currently participate in a project where we/the applicaition need to be able to discover other instances of the application with the same application name running on a LAN (henceforth called Node).
Prerequisites: All Nodes know their own IP address and TCP port number All Nodes have a name All Nodes have access to the LAN
What I need:
All Nodes needs to know the IP address and TCP port of each other Node. If a Node goes down, I will have to be programmatically notified of this. If a new Node comes up, I will have to be programmatically notified of this. It's ESSENTIAL that no master server or other application is needed, it has to be an API that I can integrate into the current application. Also, it has to be open source and preferrably MIT or ApacheV2 licensed.
That's all!
The application is JVM-based so any API will do. I've been looking at ZooKeeper but it seems to be quite a big dependency for the little functionality we need.
And, if you don't know any API, but have some good links to share as how to achieve this by writing it myself (white papers, blogs, books, whatnot), I'd more than gladly accept things like that aswell.
So the question is, how do I do this?