맛집 추천 사이트 제작 프로젝트 진행중
리뷰의 평점들의 평균을 띄워줘야 하는 상황이 생겼다.
처음엔 해당 스토어 정보를 불러올때 모든 리뷰 쿼리의 점수를 나눠서 표현을 했었지만 이러면 리뷰수가 많아질수록 연산이 오래걸리고 또한 새로고침만 해도 엄청난 서버 자원을 소모한다고 생각해 효율적이지 못한다고 생각했다.
그래서 내가 알고있던 기술인 spring scheduler를 사용해서 스토어 테이블에 평점을 부여해 12시에 단 한번만 저 로직을 돌릴 생각을 했었지만
이것 역시 사용하는 사람이 적은 12시라고 해도 서버 자체에 부하가 커서 장애가 일어날꺼 같아서 고민을 했다.
그러다가 발견한게 Spring Batch 라는 기술이다.
지금 생각엔 12시에 scheduler를 활용해서 Batch가 돌아가게 하면 좋을꺼 같다고 생각한다
Batch를 간단히 요약하자면 서버 운용을 하면서 생긴 대용량 데이터에 처리 및 가공을 서버 장애 없이 하기 위한 기술인것같다
해당 기술을 사실 이름만 알고있었다가 이런 상황에서 사용하면서 배울 수 있어서 기술적인 성장을 얻을 수 있을꺼 같다
해당 기술을 배우기 위해서 향로님의 블로그등을 참고하고 필요하다면 책이나 강의도 사야겠다