The spread tool may be a bit overwhelmed for what you want, but an interesting starting point.
From the commercial:
Spread is an open source toolkit that provides a high-performance messaging service that is error-resistant on local and global networks. Distributed as a single messaging bus for distributed applications, it provides highly-tuned application-level multicast, multicast, and point-to-point support. Common services range from reliable messaging to fully ordered messages with delivery guarantees.
Distribution can be used in many distributed applications that require high reliability, high performance, and reliable communication between different subsets of members. The toolkit is designed to encapsulate the complex aspects of asynchronous networks and create robust and scalable distributed applications.
Distribution consists of a library with which user applications are associated, a binary daemon that runs on each computer that is part of a group of processors, and various software and demo programs.
Some of the services and benefits provided by Spread are:
- Reliable and scalable messaging and group communication.
- A very powerful but simple API simplifies the construction of distributed architectures.
- Easy to use, deploy and maintain.
- High scalability from one local network to complex wide area networks.
- Supports thousands of groups with different sets of elements.
- Provides reliable messages in the event of equipment failures, process failures, and recovery, as well as network partitions and mergers.
- Provides a number of guarantees for the reliability, ordering and stability of messages.
- Emphasis on reliability and high performance.
- Fully distributed algorithms without a central point of failure.
frankodwyer
source share