개발/Elasticsearch
Elasticsearch (9) - Elasticsearch Client
로그뉴
2022. 7. 6. 16:59
Elasticsearch Client
실무에선 대량의 요청을 처리하기 위해 ES에 접근할 때 전용 클라이언트 모듈을 많이 사용한다.
- Rest Client
- Java High Level REST Client 라고도 불림
- HTTP 방식 사용
- 내부적으로 HttpClient 모듈 사용
- Transport Client
- Java Client 라고도 불림
- 초기부터 제공되던 클라이언트 방식으로, 상대적으로 빠른 속도를 보장함.
- Socket 이용
- 내부적으로 Netty 모듈 사용
** ES 7.0 이후 부터는 Transport 클라이언트가 폐기 되었기 때문에 REST 클라이언트를 사용해야 함.!!
Rest Client를 사용하는 이유
- Transport 클라이언트의 요청: JSON 파싱 -> 자바 객체로 변환 -> Transport Network 계층을 통해 바이너리 형식으로 서버에 전달
- REST 클라이언트의 요청: JSON이 그대로 서버에 전달
- REST 클라이언트를 사용할 경우 보안 측면에서 HTTPS를 사용하는 것이 가능해짐. -> 클러스터의 보안 강화 가능!