배치 전송은 데이터를 비동기로 연동하는 가장 전통적인 방법.
메시징 시스템이 거의 실시간으로 데이터를 연동한다면, 배치는 일정 간격으로, 주기적으로 데이터를 전송. 예를 들어 결제 승인 데이터 모아서 다음 날 보내거나, 택배 발송요청 데이터를 1시간 간격으로 보내는 식.
배치로 전송하는 전형적 실행 과정
- DB에서 전송할 데이터 조회
- 조회한 결과를 파일로 기록
- 파일을 연동 시스템에 전송
파일 전송은 FTP, SFTP 같은 파일 전송 프로토콜 혹은 SCP 같은 명령어로 수행한다.
- JSON 문자열
- 값1 | 값2 | … 등등 형태
배치 전송은
- 파일 전송
- API
- 읽기 전용 DB 열어주기 등이 있다.
재처리 기능 만들기
파일을 지정한 시간에 전송못할때가있다. 파일 생성 과정 에러나 네트워크 상태가 안좋을때 전송못하는 경우가 있다. 어떤 이유에서든 전송에 실패하면 일정 시간 후 재전송하는 기능을 구현해두자.
재시도를 했음에도 실패한다면? 수동으로 배치 할 수 있는 명령어나 API 준비해 두자.