2014. szeptember 25., csütörtök

JGroups

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  
http://www.jgroups.org

8 megjegyzés:

  1. Bővebben? :) Most akarom használni egy projektben, és minden infó érdekel.

    VálaszTörlés
  2. Meg vagyok vele elegedve. Vanhozza teszteszkoz jol latszik melyik nodeok csatlakoztak mit dumalnak etc

    VálaszTörlés
  3. Annyi, hogy csak vedett halozaton lehet hasznalni

    VálaszTörlés
  4. Mi amazon ec2 instance-okon futó tomcat-ekben websocket szervereket akarunk vele összekötni. Ott UDP multicast nem biztos, hogy működik, de olyan 10-20 node-nál gondolom TCP/IP sem sokkal rosszabb. Ti UDP-t használtok?

    VálaszTörlés
  5. UDp, de nekünk belső hálós cluster van, és a load balancer van nyilvános hálózaton. Az a baj, ugye, hogy aki mcast-on becsatlakozik, az lát mindent (lehet vanna security beállítások, de nem jött szembe mi meg nem kerestük)

    VálaszTörlés
  6. aham, nekünk is vpn-en menne, meg load balancer mögött, meg minden, mondjuk én TCP-ben, és s3_ping-ben gondolkodok (valamit írtak is, hogy ec2-n nem megy az udp multicast), és ott akkor úgy nincs security probléma, ha minden igaz

    VálaszTörlés