업무

[업무] TIL 2회차 - Batch란 ? (Scheduler 비교)

박도비 2024. 2. 6. 13:50
728x90

코드를 하나하나 보다가 Batch라는게 있어 정리가 필요할 것 같아 포스팅 하려합니다. 

하다가 Batch가 Scheduler이랑 비슷한 것 같아서 비교도 해보려고요 ! 

 

1. Batch란 ? 

: 실시간으로 처리하는 게 아니라 일괄적으로 모아서 미리 정해진 순서에 따라 중단 없이 한번에 처리하는 작업 

 

ex) 구매완료 7일 이후 자동 구매 확정 / 배송중인 상태로 5일 지나면 배송완료 상태로 변경 

 

서비를 운영하다보면 수 많은 케이스가 발생한다. 이 모든걸 실시간으로 반영하게 된다면 ? 

물론 가능은 하지만 아마 실시간으로 수 만줄을 처리하다간 장애를 일으실 것이다. 이러한것들을 새벽이라던가 특정시간때에 작성하게 되면 더 효율적으로 서비스를 이용할 수 있을 것 입니다. 

 

즉 Batch는 대용량 데이터를 처리 합니다. 

 

2. Scheduler 란 ? 

: 일정한 시간 간격 또는 시각에 특정 로직을 돌리기 위해 사용하는 것 

때문에 스케줄러는 시간에 따른 특정 작업을 실행하고 관리하는데 특화되어 있지 JOB의 성공여부, 실패에 따라 재시작을 관리하는 Batch와 완전히 다른 개념이다. 

 

Batch와 Scheduler 차이점 

Batch Scheduler 
일괄처리 정해진 시간에 자동으로 실행
사용자의 명령이 있을 때 실행 주기적으로 실행 
Batch Job을 관리 (Job을 구동하거나 실행시키는 기능 X)  

 

🍀Batch를 구현하기 위해서는 Scheduler를 사용하기 때문에 비교 대상은 아니다 ! 

 

 

참고블로그

https://karla.tistory.com/464

https://velog.io/@smallcherry/%EB%B0%B0%EC%B9%98%EC%99%80-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC

728x90