Spring3 Spring Batch 성능 최적화(1) Batch - 특정 시간에 많은 데이터를 일괄 처리 일괄 생성 : Read - Create - Write 일괄 수정 : Read - Update - Write 통계 : Read GroupBy - Write 기술 스택: Spring Batch, MySQL, Spring Cloud Data Flow, Redis, Kubernetes 대량 데이터 Read Reader 개선이 큰 부분 차지 보통 복잡한 조회 조건으로 데이터를 가져오는 것이 성능에 크게 영향 줌 읽을 때는 항상 Chunk Processing 데이터의 양이 늘어나면 한번에 모든 데이터를 받을 수 없음 ⇒ Chunk 단위로 받는다 1000만건 = 1000 * 만개의 chunk 그래서 Chunk 단위로 어떻게 읽어올건데? Pagination Reade.. TIL/Spring & Spring Batch 2023. 10. 28. [Spring-Batch] 클라우드 환경에서의 Spring Batch 클라우드 환경에서 Batch 프로그램이 고려해야할 issue들과 Spring Batch는 어떻게 접근하고 있는가에 대한 글 출처: Spring Batch on Kubernetes: Efficient batch processing at scale Issue1: Fault Tolerance DB, Message brokers, Web 서비스 등 다른 시스템들과의 연결이 필요한 배치의 경우 언제든 프로세스가 돌고 있던 노드가 죽고 새로은 노드로 대체될 수 있기에 Fault-Tolerant하게 만들어져야 한다. ⇒ 트랜잭션 관리, Skip 과 retry 매커니즘을 제공 Issue2: Robustness 배치 작업을 중복 실행하는 것이 치명적인 경우가 존재하는데, 쿠버네티스의 경우 같은 Job을 중복 실행하는 점.. TIL/Spring & Spring Batch 2023. 10. 14. 스프링 프록시 팩토리 💡 프록시(Proxy) 란? 클라이언트가 실제 사용하려는 대상인양 요청을 받아 처리하는 역할. 프록시에게 요청을 넘겨받아 최종 처리하는 오브젝트는 타깃(Target). 타깃과 프록시인지 클라이언트가 구별할 수 없어야 하기에 둘은 같은 인터페이스를 확장해야 함. 프록시는 사용 목적에 따라 2가지로 나뉨 부가적인 기능 부여 ⇒ 데코레이터 패턴 접근 제어 ⇒ 프록시 패턴 프록시 패턴 객체 생성은 비용 ⇒ 최소한, 필요 시점까지 미루는게 좋음 타깃에 대한 접근권한 제어 가능 캐싱 프록시의 단점 프록시가 멤버변수로 타깃 오브젝트 가지기에 타깃 오브젝트에 종속적 똑같은 기능 수행하는 프록시라도 여러 타깃에 적용하려면 타깃의 갯수 만큼 프록시 생성해야 하기에 코드 중복 발생 프록시를 사용하지 않는 메소드에도 타깃으로.. TIL/Spring & Spring Batch 2023. 5. 24. 이전 1 다음 반응형