JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other.