The Cluster Channel object
cluster channel 은 Apache Tribes 라는 자그마한 framework 의 main component 이다.
이 녀석이 sub component 들을 관리하고, 그 sub component 들과 함께 group communication framework(Apache Tribes) 를 만든다.
이 Apache Tribes framework 는 내부적으로 사용되는데, component 들이 message 를 다른 Tomcat instance 들에 보낼 때 사용된다.
연관된 구성요소들 Nested Components
Channel/Membership component
cluster 에 있는 새로운 node 들을 자동으로 찾아주고,hearbeat 에 응답하지 않는 node 에 대한 notification 을 제공하게 되어있다.
기본 구현은 multicast 를 사용한다.
이 component 에서 자신의 node가 어떻게 발견 되는지, 어떻게 나눌건지에 대한 설정을 정해 줄 수 있다.
Channel/Sender component
- Sender component 는 모든 밖으로 나가는 connection 들을 관리
- network 를 통해 한 node 에서 다른 node 로 보내는 data message 들을 관리
- message 들이 병렬로 보내는 걸 가능하게 해준다.
- 기본적으로 TCP client socket 을 이용해서 구현되어 있다.
- outgoing message 들에 대한 socket tuning 은 여기서 조정할 수 있다.
Channel/Sender/Transport
- sender component 가 사용하는 하단 layer
- 기본적으로 non-blocking TCP client socket 들을 사용해서 구현되었다.
Channel/Receiver
- 다른 node 로 부터 오는 message 들을 듣는다.
- cluster thread pool 을 여기서 설정해서 incoming message 들을 thread pool 로 전달해줄때 좀 더 빠르게 처리하게 할 수 있다.
- 기본적으로 non-blocking TCP server socket 들을 이용해서 구현되었다.
Channel/Interceptor
- channel 은 message 들을 interceptor stack 을 통해서 보낸다.
- 이 때문에, message 를 sent, received 하는 방식을 customize 할 수 있다.
- 그리고 membership 이 어떻게 handle 될지에 대한 cutomize
Reference
- Apache Tomcat 8 Configuration Reference (8.0.15) - The Cluster Channel object
- Apache Tribes - The Tomcat Cluster Communication Module (8.0.15) - Apache Tribes - Introduction
- Apache Tomcat 8 (8.0.15) - Clustering/Session Replication HOW-TO
댓글 없음:
댓글 쓰기