JGroups

Ez egy nagyon okos kis cucc, ha valaki Java alapú clustert szeretne építeni bármiből. Ezt használja pl. a JBoss is clusterezésre, de még sok helyen használják.

Röviden annyi a lényeg, hogy létrehozhatsz benne channel-eket, amiket egy clusterhez csatolhatsz. Ez annyi, hogy létrehozod az objektumot, és megadsz neki egy sima stringet mint cluster nevet. Az egy clusterben lévő channel-ek tudnak kommunikálni egymással. Van egy send metódus, amivel bájt tömböket, vagy serializálható objektumokat nyomhatsz át vagy név szerint egy másik channel-re, vagy broadcastolhatod a clusterbe. A lényeg az, hogy minden más teljesen transzparens. Hogy hogy találnak egymásra a channel-ek, hogy milyen protokollon megy a kommunikáció, az új node-ok belépésének, leszakadásának kezelése, stb. mind mind transzparens. Neked csak azzal kell foglalkozni, hogy létrehozod a channel-eket, és kommunikálsz rajtuk. A rendszert XML-ből lehet kívülről konfigurálni. TCP-t, és UDP-t használhatunk transportnak, de moduláris a rendszer. UDP-n például a node-ok meg tudják találni egymást broadcast üzenetekkel, TCP-n megadhatunk egy ip listát, vagy tud olyat is, hogy a node-ok egy amazon s3 bucketbe pakolnak le fájlokat feljelentkezéskor, és ezek alapján találják meg egymást. De még sok minden konfigurálható, meg ugye minden moduláris.

http://www.jgroups.org/

#blog  

Embedded Link

JGroups – The JGroups Project
JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other. The main features include. Cluster creation and deletion. Cluster nodes can be spread across LANs or WANs; Joining and leaving of clusters; Membership detection and …