Batch5 Spring Batch MongoDB 빠르게 수집하기 (MongoCursorItemReader) 개요MSA 구조로 개발하면서 서비스는 점점 작은 기능 단위로 나눠지고 그로 인해 데이터 구조도 단순해지면서 MySQL과 같은 RDB에서 MongoDB 같은 NoSQL로 이동하고 있고, Spring에서도 RDB만 지원 기능이 점점 MongoDB도 지원하도록 기능이 추가되고 있다. (Spring Batch에서 MongoDB를 JobRepository로 제공 예정 https://github.com/spring-projects/spring-batch/issues/877) MongoDB를 사용하는 곳이 늘어 남에 따라 Spring Batch에서도 지속적으로 MongoDB 관련 기능이 추가되고 있는데 그중 MongoDB에서 데이터를 조회하는 MongoCursorItemReader에 대하여 알아본다. MongoPa.. 2024. 11. 8. Building a SpringBoot Monorepo with Gradle 개요Gradle을 사용하여 프로젝트를 Monorepo로 관리하는 방법에 대하여 설명한다. MonorepoMongorepo와 multi-repo에 대하여 장단점이 있지만 어떤 기술이나 그렇지만 프로젝트 상황에 맞게 선택해서 사용하도록 한다.두 방법에 차이와 장담점에 대해서는 아래 링크에 잘 설명되어 있다.https://www.thoughtworks.com/insights/blog/agile-engineering-practices/monorepo-vs-multirepo 개인적인 생각으로는 프로젝트 인원이 적은 경우 Monorepo가 더 효율적이었고, 깃 브랜치 전략에 따라서도 프로젝트 상황에 맞게 선택하면 좋다. 프로젝트 구조Java 프로젝트로 구성할 예정이고 Gradle로 프로젝트를 구성한다. shop .. 2024. 11. 6. [Spring Batch] On K8S with Jenkins 개요배치 작업이 필요한 서비스에 대하여 Spring Batch를 사용하여 배치 프로그램을 자주 개발하는데 배치 작업 특성상 실행 주기가 짧거나 오랜 시간 동안 실행되며 자원을(Network, CPU) 많이 사용하는 경우가 많다. VM 서버를 사용하여 배치 작업을 구성하는 경우 배치를 실행하지 않는 경우에는 사용하지 않는 리소스를 낭비하게 되고, 동시에 많은 배치를 실행해야 하는 경우에는 리소스가 부족하여 배치를 실행하지 못하는 경우가 발생할 수 있다.K8S를 사용하면 위에 단점들을 극복할 수 있는데 Spring Batch를 K8S에서 사용하는 방법에 대하여 알아본다.Spring BatchKubernates JobsSpring Batch on Kubernates Spring Batch간단한 Spring .. 2024. 9. 12. [Spring Batch] - AbstractPagingItemReader 조심하기 개요Spring Batch 데이터 수집 중 보통은 ItemReader에서 데이터를 조작하는 작업을 하지 않지만 특수한 케이스에서 페이징 한 데이터를 기반으로 추가로 데이터를 수집해야 하는 경우(join이 불가능하거나...) AbstractPagingItemReader를 구현한 객체를 사용하는데 이때 주의해서 사용할 점에 대하여 정리한다. PagingItemReader 동작 방식AbstractPagingItemReader의 맴벼 변수(protected volaatitle List results)는 AbstractPagingItemReader의 doRead() 메서드에서 AbstractPagingItemReader를 상속하는 구현체의 doReadPage()의 호출 결과로 값이 정해진다. PagingItem.. 2024. 8. 21. [Spring Batch] 5.1.2 Features 개요기존에는 Spring Batch 4.x.x 버전으로 개발하다가 최근에 5.1.2 버전으로 변경하면서 Spring Batch 5.1What's New in Spring Batch 5.1Dependencies upgradeVirtual Threads supportMemory management improvement in the JpaltemWriterNew synchronized decorators for item readers and writersNew Cursor-based Mongoltem ReaderBulk inserts support in MongoltemWriterNew item reader and writer for RedisAutomatic configuration of JobRegist.. 2024. 8. 21. 이전 1 다음