본문 바로가기
공돌이 작업실/하루 1커밋

엘라스틱서치 기본기가 없어서 해맨썰

by 미젤 2019. 12. 10.

너무 러프하고 광범위하게 무작위로 검색하고 정보들을 보다보니 개념은 안잡히고 원하는데로 사용은 안되고,,

 

 

일단 제일 이해가 안되었던게 클라이언트.

그냥 막연히 High Level 클라이언트를 쓰는 추세임 - 이라는 식의 글들만 보였는데 기존과 차이가 뭐길래? 는 찾기 어려웠다.

 

자바 클리아언트 모듈에는 두가지 종류가 있다.

1. Transport 클라이언트 - 네티 Netty 모듈을 이용해 네이티브 클라이언트를 통해 접근하는 방식.

  • Java Client 라고 불림
  • 초기부터 제공되던 방식. 상대적으로 빠른 속도 보장. BUT 7.0버전부터 폐기 예정됨 
  • 소켓을 이용해 ES와 통신
  • 내부적으로 Netty 모듈 사용.

2. REST 클라이언트 -  내부적으로 HTTP방식으로 REST API를 사용해 접근하는 방식

  • Java High Level REST Client 라고도 불림
  • HTTP 방식을 이용해 ES와 통신 -> 매우 유연한 사용성 제공
  • 내부적으로는 HttpClient 모듈 사용.
  • 1번보다 성능이 조금 떨어졌었지만 지금은 꽤 좋아져 크게 차이 안남.
  • 최신버전의 ES를 사용한다면 반드시 REST 클라이언트를 쓰도록.

댓글