항해99/TIL | WIL

2023.04.11 (93일)

태감새 2023. 4. 11. 23:29

Day 93


- 실전 프로젝트

 일단 오늘은 실수로 레포지토리를 날려먹었다. 다른 레포를 지워야 하는데 아무 생각없이 지우다가 프로젝트 레포를 지워버렸다.. 그래서 복구하려는데 포크 뜬 레포는 복구가 안된다길래 깃허브에 문의를 넣어놓은 상태이다. 지금 12시간이 지났는데 아무런 응답이 없는거보면 그냥 새로 만드는게 빠를거같다. 다행이게도 현재 내가 포크 뜬 레포에 최신 데이터가 저장되어 있어서 새로운 방을 하나파서 복사하면 될 듯하다. 내일 아침에도 응답이 없으면 새로 만들어야겠다. 

 

 상황이 이런지라 심란해서 코딩에 집중을 못했다. 오늘은 이번주의 주요 업무인 서킷 브레이커를 구현했다. 다행이게도 resilience4j라는 라이브러리를 이용하면 쉽게 서킷 브레이커를 적용할 수 있었는데, 어제 mysql과 엘라스틱 서치의 로직을 맞춰놓아서 어노테이션 하나로 서킷 브레이커를 구현할 수 있었다. 

 문제는 페이징인데 mysql과 엘라스틱 서치는 같은 조건으로 검색해도 점수체계와 형태소 분석이 다르기 때문에 점수와 결과가 같지않다. 키워드 검색과 상세필터 적용에는 서킷 브레이커가 큰 문제가 되지 않지만 페이지를 이동하는 경우는 추가 설정이 필요하다. 예를 들어 엘라스틱으로 3페이지로 넘어가는 경우에 서킷 브레이커가 작동하면 mysql로 동작하게 되는데 엘라스틱 서치의 커서와 mysql의 커서는 다르기 때문에 작업을 이어하는 것은 불가능하다. 그래서 서킷 브레이커가 작동하여 검색 엔진이 변경되는 경우에는 변경 알림과 함께 페이지를 첫 페이지로 초기화시키는 작업을 추가하여 커서를 초기화 시켜줬다. 이렇게하면 다시 페이지를 이동해야하는 문제가 있지만 그래도 서버가 터지는 것 보다는 좋다고 생각한다. 

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

2023.04.13 (95일)  (0) 2023.04.13
2023.04.12 (94일)  (0) 2023.04.13
2023.04.10 (92일)  (0) 2023.04.11
2023.04.09 (91일)  (0) 2023.04.09
WIL (12주)  (0) 2023.04.09