Spread is a group communication system that provides a number of messaging services to applications. These services can then be used by applications to make it easy to write full-featured reliable groupware, distributed servers, client-server applications, chat and news services, and many other networked enabled tools.
Some of the most useful services Spread provides:
For more information about Spread, read the Spread Overview.
An updated version of the Spread Users Guide has been released. It currently documents the C and Java interfaces to Spread and the Events library. It also contains an introduction to Spread, information on configuring Spread for a variety of network environments and hints and tricks for using Spread effectivly in harsh conditions.
A good place to look first is in the FAQ. If you have questions not answered by the FAQ or the below API docs, please join our mailing list at http://lists.spread.org/mailman/listinfo/spread-users or read the archives at http://lists.spread.org/pipermail/spread-users/.
An additional archive of the spread-users mailing list can be found at the Gmame site
If you want to ask us a question directly, please email us at firstname.lastname@example.org.
Spread can be used for applications which require high reliability and online recovery from failures in any of the network, hosts, or processes, or for applications with little or no fault-tolerant requirements. The model of Group Communications provides a rich framework for building highly-reliable applications, we currently are working on more documentation about theses uses of Spread, but for now we suggest the following sources:
For use in multicast applications where fault-tolerance is not required, usually all that is needed is some api docs and some example code. Below is html documentation of the Spread API, and links to several small sample programs that use some or all of the calls in the API.
This document explains the user level interface to the Spread Toolkit as specified in the header file "sp.h". This document assumes a knowledge of the ideas behind group communication, and explains the specifics of using the Spread Toolkit. For background and more info please read the README that comes with the Spread package.
We currently have several useful sample programs available here.
The Java interface to spread includes all the features of the C interface, as well as some uniquely Java style constructs such as message listeners and an object-oriented design. The Spread Daemon is written in C only, however the library that applications link to is written as both a native C library and a native Java library.
The complete Java documentation can be found on the web, or is part of the Spread download package.
The Python interface is documented in the python download. Web accessable documentation is also available.