티스토리 뷰

728x90
반응형
JBoss 에서 클러스터링을 구성할때 사용할 수 있는 Protocol의 종류는 크게 "UDP""TCP"가 있습니다. 보통 이 정도만 알면 클러스터를 설정하는 데에는 크게 문제가 없지만, 좀 특이한 환경에서도 클러스터 구성을 하고 싶다면, 좀 더 특별한 프로토콜을 사용해야 합니다.

 이러한 프로토콜로는 PING, MPING, TCPPING, TCPGOSSIP 등등이 있으며,  이것들을 이용하여 JBoss는 네트워크 상의 클러스터 멤버들을 발견하게 됩니다.(사용해본적은 없지만 JDBC_PING 도 있고, FILE_PING도 존재함). 


오늘 이야기 할 프로토콜은 TCPGOSSIP로써, Router를 이용하여 multicast(PING)을 사용할 수 없는 환경에서도 cluster 구성을 할 수 있도록 도와 주는 역활을 합니다.


라우터란? ==>  라우터(Router)는 이름 그대로 네트워크와 네트워크 간의 경로(Route)를 설정을 해주는 녀석.


이 개념을 이용하여 cluster member를 찾아주는 프로토콜이 바로 TCPGOSSIP이다. 




위의 그림에서 보듯이 자신이 멤버의 일원이며, 지금 살아있다는 메세지를 주기적으로 Router에게 보내게 되고, 이를 기반으로 현재 Cluster의 멤버의 정보인 View를 계속적으로 갱신하게 됩니다.


방화벽이 있는 데도 이런 것이 가능한 이유는 방화벽 설정할때의 기본적인 성격 때문입니다. 보통 방화벽은 외부의 패킷을 내부로 들어오지 못하도록 하고, 내부의 패킷은 외부로 나갈수 있도록 만들기 때문에 Gossip Router와 WAS와의 연결은 가능하게 되는 겁니다.


이 프로토콜은 클라우드 환경에서도 한 몫합니다. 

아마존에서 클러스터링을 구성할때 사용할 수 있는 프로토콜이 크게 세개가 있습니다.

 1. TCPPING

 2. S3_PING

 3. TCPGOSSIP


아마존에서는 기본적으로 UDP(멀티 캐스트) 통신이 안되기 때문에 당연히 TCP 프로토콜을 이용해야하는데, 이중 외부에 router를 놓는 2,3방식과 직접 WAS IP를 명시하는 1번 방식이 있습니다.


앞으로 아마존같은 클라우드 환경에서도 WAS를 설정할 때가 많아질텐데요. JBoss의 TCPGOSSIP 프로토콜을 알고 있다면, 클러스터를 구성에 구성하는 데 많은 도움이 될것입니다.


Reference :

https://developer.jboss.org/wiki/JGroupsTCPPING

https://developer.jboss.org/wiki/JGroupsGossipRouter

https://developer.jboss.org/thread/162960?tstart=0

https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/5/html/Administration_And_Configuration_Guide/jgroups.chapt.html#jgroups-transport

https://access.redhat.com/solutions/255063

반응형
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함