한국장학재단 TTS 연동 프로젝트
개발 기간 24.05 ~ 24.08 (3개월)
개발 인원 2명( Web, Publisher )
기술 스택 JAVA, Spring Boot, Spring Batch, MyBatis, JPA, PostgreSQL, ORACLE, javascript, css, jquery, jsp
서비스 주소 내부 시스템으로 미제공
서비스 Github https://github.com/Seeongh/ttsEngine
설명 ASR에서 사용하는 TTS엔진의 부수적인 기능을 제공하는 웹사이트
담당 업무 기획 / 개발 / 운영 / PM
상세 (화면진입이 불가하여 캡쳐로 대체.)
⬛ 외부 DB와 웹 서비스 DB 동기화를 위해 SpringBatch 사용
- Condition
- 엔진이 가진 정보와 웹 서비스에서 관리하는 DB의 정보가 동일한지 확인해야하는 필요성이 생김에 따라 매일 자정에 동기화를 수행하는 배치를 구현했습니다.
- Challenge & Tech
- 하나의 Job과 Step을 구성하고, ChunkOrientedTasklet을 통해 하기 작업을 수행했습니다.
- ItemReader : 웹 서비스의 DB에서 관련 데이터를 페이징을 통해 읽어옴
- ItemProcessor : API 호출을 통해 외부 DB에 적용된 값을 가지고와서 ItemReader에서 가지고온 데이터와 비교
- ItemWriter : ItemProcessor 에서 변경이 필요한 데이터에 한해 DB update수행
- 작성 블로그 https://velog.io/@shyunnn/Spring-Batch-도입과-소개