항해99/TIL | WIL

2023.04.07 (89일)

태감새 2023. 4. 8. 01:04

Day 89


- 실전 프로젝트

 오늘 자고 일어나니까 엘라스틱에 150만개만 들어가고 서버가 죽어있었다. 그래서 1차 절망하고 다시 넣는데 또 죽어서 약간 멘탈이 나갔었다. 오늘 엘라스틱을 기반으로 코드를 작성해야 내일 시연을 할텐데 데이터가 안들어가서 뭘 할수가 없는 상황이였다. 일단 서버가 죽은 문제점은 속도라고 생각했다. 그래서 서버를 하나 더 만든 다음 그 서버에서 천천히 데이터를 넣기로 하고 터진 서버에는 200만개 정도 있어서 그 엘라스틱을 기준으로 코드를 작성했다. 근데 천천히 넣어도 계속 터지길래 백만건당 한 번씩 수동으로 종료해줘서 오늘 겨우 900만개를 채웠다. 내일 아침에 조금만 더 하면 멘토링전에 채울수 있을거같다. 

 

 데이터가 들어가는 동안 엘라스틱을 이용한 검색 쿼리를 작성했다. QueryDSL은 null인 경우 조건을 빼버리는 기능이 있었는데 엘라스틱 코드에는 null이 들어가면 예외를 반환해서 직접 구현해야했다. 필요한 클래스를 상속받아서 null인 경우는 그대로 이어지도록 (대부분 빌터 패턴을 사용하고 있어서 빌더 자신을 반환시켰다.) 처리한 뒤 null이 아니면 부모의 메서드를 실행하는 방법으로 처리하였다. 

 

 오늘 페이지네이션까지 구현하는 게 목표였지만 계속 엘라스틱이 터지고 서버로 이것저것 신경쓸게 많아서 페이지네이션은 구상만 했다. 그래도 나머지 코드는 대충 구현이 끝나서 내일 데이터가 다 찰 때까지 페이지네이션과 커서 관련해서 프론트 페이지를 변경하면 얼추 시간 맞게 1차 마무리는 될거같다. 

'항해99 > TIL | WIL' 카테고리의 다른 글

WIL (12주)  (0) 2023.04.09
2023.04.08 (90일)  (0) 2023.04.09
2023.04.06 (88일)  (0) 2023.04.07
2023.04.05 (87일)  (0) 2023.04.06
2023.04.04 (86일)  (0) 2023.04.05