BaekGeunYoung/deliSHAs_backend

배치 라이브러리 및 스케줄러 검토

Closed this issue · 1 comments

Spring Batch는 배치 프로그램에서 꼭 필요한 로깅, 통계 처리 등을 포함해 강력한 기능들을 제공하긴 하지만 추가적으로 학습할 부분이 많아보이고, 배보다 배꼽이 더 큰 느낌이 있음. 또한 spring batch는 배치 작업만을 정의하기 때문에 스케줄링은 linux의 crontab이나 spring의 quartz 프레임워크 등의 스케줄러를 따로 사용해야 함.

찾아보니까 spring에서 @Scheduled annotation으로 간단하게 스케줄링 작업을 할 수 있는 것으로 보임. 추가적인 스케줄러를 사용할 필요 없음.

어떤걸 쓰는게 좋은가?

batch 프로그램은 대용량 데이터 처리에 적합하고, 배워야할 부분이 많으므로 우선은 배제하는게 좋아보인다.

우선은 AWS lambda + cloudWatch 조합으로 serverless 환경에서 cron job을 실행할 수 있도록 구축하자.