SpringBatch
-
Spring Batch로 대용량 작업 처리하기Spring 2024. 8. 5. 17:46
문제 상황Scoop이라는 프로젝트에 매일 오전 6시와 12시에 네이버 뉴스 기사를 크롤링하는 로직이 있다. 이때, 크롤링한 뉴스를 요약까지 해야했고, 요약에는 GPT API를 사용했다. 또한, 이러한 GPT API는 FastAPI에 구현하여, 다른 서버에 존재한다. 간단한 흐름은 다음과 같다. 1. 네이버 뉴스의 각 카테고리의 뉴스들의 URL을 크롤링한다.2. 크롤링한 뉴스 URL을 사용하여 뉴스 본문을 크롤링한다.3. 크롤링한 뉴스 본문 내용 메시지를 publish 한다.4. FastAPI 서버에서 해당 메시지를 consume하여 뉴스 내용을 요약한다.5. 요약된 뉴스 내용 메시지를 publish 한다.6. Spring 서버에서 메시지를 consume하여 요약된 뉴스 내용을 DB에 저장한다. 하지만 위..