본문 바로가기
반응형

ItemReader5

ListItemReader 성능상 주의사항 Spring Batch를 사용하다보면 종종 ListItemReader 가 필요한 경우가 종종 있습니다. 물론 일반적으로는 ListItemReader를 사용하기 보다는 FlatFileItemReader, JdbcItemReader, MongoItemReader 등 Spring Batch에서 공식적으로 지원하는 ItemReader나 Custom ItemReader등을 만들어 사용하는 것을 추천합니다. 다만, 현재 Spring Batch의 ListItemReader에서는 성능 이슈가 하나 있는데요. 이번 시간에는 해당 성능 이슈가 무엇인지, 어떻게 해결할 수 있는지 간단하게 소개 드리겠습니다. 문제 상황 다음과 같은 테스트 코드를 구현해서 실행해봅니다. @ExtendWith(MockitoExtension.cl.. 2020. 9. 21.
Spring Batch ItemReader에서 Reader DB 사용하기 (feat. AWS Aurora) 일반적으로 서비스가 커지게 되면 DB를 여러대로 늘리게 됩니다. 이때 가장 첫 번째로 고려하는 방법이 Replication 입니다. 즉, 1대의 마스터 DB와 여러대의 Slave DB를 두는 것이죠. 데이터의 변경은 모두 마스터 DB에서만 이루어지고, SlaveDB들은 이 변경사항을 실시간으로 수신 받고, 성능 이슈가 심한 조회 요청에 대해서 처리합니다. (일반적인 웹 서비스에서는 조회와 등록/수정 비율이 80%:20% 정도입니다) 위와 같은 전략에 대해서는 이미 많은 자료가 인터넷에 있으니 참고해보시면 됩니다. 신입 개발자분들은 강대명님의 슬라이드를 꼭 참고하셔서 보편적인 웹 서비스 확장 전략에 대해서 꼭 인지하고 계셔야 합니다. 이번 글에서는 이렇게 Replication 상태에서 Spring Batc.. 2020. 6. 15.
7. Spring Batch 가이드 - ItemReader 앞의 과정들을 통해 Spring Batch가 Chunk 지향 처리를 하고 있으며 이를 Job과 Step으로 구성되어 있음을 배웠습니다. Step은 Tasklet 단위로 처리되고, Tasklet 중에서 ChunkOrientedTasklet을 통해 Chunk를 처리하며 이를 구성하는 3 요소로 ItemReader, ItemWriter, ItemProcessor가 있음을 배웠습니다. 즉, ItemReader & ItemWriter & ItemProcessor의 묶음 역시 Tasklet이란 이야기입니다. 이들의 묶음을 ChunkOrientedTasklet에서 관리하기 때문이죠. 이번 시간부터 이 3 요소를 차근차근 배워보겠습니다. 7-1. ItemReader 소개 Spring Batch의 Chunk Taskle.. 2018. 9. 14.
SpringBatch에서 ItemReader를 Mock객체로 교체하기 안녕하세요? 이번 시간엔 SpringBatch에서 ItemReader를 Mock객체로 교체하는 예제를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 발단 스프링 배치로 테스트 코드를 짜다보면 정말 하기 싫은것이 ItemReader로 읽어올 데이터를 만드는 것입니다. 특히나 실제 업무에서 쓰다보면 수많은 필수값들과 엔티티 관계들로 인해 만들어야할 데이터가 많을 경우 더 그렇습니다. 이렇게 테스트 환경 구축이 힘들때는 역시나! Mock을 활용하면 좋다고 생각했습니다. ItemReader를 어떻게 Mocking할지 고민하.. 2017. 10. 17.
Spring Batch에서 @StepScope 사용시 주의사항 안녕하세요? 이번 시간에는 SpringBatch를 처음 사용하면서 했던 실수 중 하나를 정리하려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 이번 포스팅은 Spring Batch에 대해 기본적인 흐름을 알고 계신 것을 가정하고 진행됩니다. 혹시나 아직 Spring Batch를 모르신다면 곧! 제가 정리해서 올릴 포스팅을 기다려주세요!문제상황간단한 batch를 작성하였습니다. 다른 코드는 볼게 없어 reader 부분만 보시면 됩니다. reader의 코드는 아래와 같습니다. 이렇게 reader를 작성하고 간단하게 테스트 코드를 .. 2017. 3. 18.

728x90
반응형