bulk
-
Elasticssearch BulkProcessor를 사용하자elasticsearch 2021. 3. 13. 00:24
cdc(change data capture) api를 구축해서 사용하고 있었다 webflux를 사용했고 클라이언트에서도 데이터 셋은 최대한 중복처리 해서 보내주지만 요청 당 es로 bulk 하는 방식이었다. 즉 client에서 1,2,3,4~n의 변경된 테이블 기본키를 몇 초 정도 수집하고 데이터를 전송하는데 많을 때는 백건 이상도 있지만 적을 땐 몇 건 밖에 없을 때도 많았다 그래서 es로 전송하는 요청 수도 상당히 많아지고 요청 오는 즉시 색인(대부분 수정)을 하니 잦은 요청으로 인한 세그먼트 삭제와 추가가 발생하였고 그로 인해 잦은 머지로 퍼포먼스 문제가 있어서 bulk processor를 도입하기로 하였다. 기본적으로 es에서는 bulk요청 시 바로 요청을 해주는 것도 있지만 restHighLev..