ES에서의 Coordinate Node
모든 es에서의 node는 coordinate node가 될 수 있다.
- coordinate node가 없는 경우, data node가 coordinate node 역할을 수행한다.
- es cluster에서 로드밸런서와 비슷한 역할을 수행
- cluster 크기가 커지면 커질수록 coordinate node가 필요
coordinate node는 client node라고도 불리며 elastic search 2.x 이후로는 client node라는 용어를 사용하지 않는다
routing이 안되어있는 경우 Coordinate node의 역할
- 특정 데이터를 찾아야 하는 요청(request)을 받는다
- cluster의 모든 노드에게 해당 데이터를 가지고 있는지 질의
- routing이 안되어있기 때문에 어떤 노드가 해당 데이터를 가지고 있는지 알 수 없음
- 모든 노드로부터 데이터 유무와 데이터 정보를 받고 데이터를 모아서(aggregate) 요청(request)에 응답(response)
- 모든 노드로부터 response를 받아야만 aggregate 수행
- 만약 하나의 노드라도 누락된 경우, timeout
routing이 되어있는 경우 Coordinate Node의 역할
- 특정 데이터를 찾아야 하는 요청(request)을 받는다
- routing을 통해 어떤 node가 해당 데이터를 가지고 있는지 알 수 있다
- 해당 노드에게만 데이터를 질의
- 전달받은 데이터로 요청(request)에 응답(respopnse)
틀렸거나 잘못된 정보 지적은 언제나 감사합니다 :)