Spring Batch Introduction
Many applications within the enterprise domain require bulk processing to perform business operations in mission-critical environments. These business operations include: Automated, complex processing of large volumes of information that is most efficientl
docs.spring.io
틀린 해석이 있다면 알려주세요 🍂
https://docs.spring.io/spring-batch/docs/current/reference/html/
Spring Batch - Reference Documentation
The reference documentation is divided into several sections: Spring Batch Introduction Background, usage scenarios, and general guidelines. Spring Batch Architecture Spring Batch architecture, general batch principles, batch processing strategies. What’
docs.spring.io
Spring Batch는 내용이 엄청 많다
한 3초 아..... 하다가 그냥 꾹꾹 한번 해보기로ㅠㅠ
오늘은 간단히 소개글부터
이건 그냥 다 번역기 돌림
스프링 배치 소개
엔터프라이즈 도메인 내의 많은 애플리케이션은 미션 크리티컬 환경에서 비즈니스 운영을 수행하기 위해 대량 처리가 필요합니다. 이러한 비즈니스 운영에는 다음이 포함됩니다.
- 사용자 상호 작용 없이 가장 효율적으로 처리되는 대량의 정보를 자동으로 복잡하게 처리합니다. 이러한 작업에는 일반적으로 시간 기반 이벤트(예: 월말 계산, 통지 또는 서신)가 포함됩니다.
- 매우 큰 데이터 세트에서 반복적으로 처리되는 복잡한 비즈니스 규칙의 주기적 적용(예: 보험 혜택 결정 또는 요율 조정).
- 트랜잭션 방식으로 일반적으로 서식 지정, 유효성 검사 및 처리가 필요한 내부 및 외부 시스템에서 수신한 정보를 레코드 시스템으로 통합합니다. 일괄 처리는 기업에서 매일 수십억 건의 트랜잭션을 처리하는 데 사용됩니다.
Spring Batch는 엔터프라이즈 시스템의 일상적인 운영에 필수적인 강력한 배치 애플리케이션을 개발할 수 있도록 설계된 가볍고 포괄적인 배치 프레임워크입니다. Spring Batch는 사람들이 기대하게 된 Spring Framework의 특성(생산성, POJO 기반 개발 접근 방식 및 일반적인 사용 용이성)을 기반으로 하며 개발자가 필요할 때 보다 고급 엔터프라이즈 서비스에 쉽게 액세스하고 사용할 수 있도록 합니다. Spring Batch는 스케줄링 프레임워크가 아닙니다. 상용 및 오픈 소스 공간 모두에서 사용할 수 있는 우수한 엔터프라이즈 스케줄러(Quartz, Tivoli, Control-M 등)가 많이 있습니다. Spring Batch는 스케줄러를 대체하는 것이 아니라 스케줄러와 함께 작동하도록 설계되었습니다.
Spring Batch는 로깅 및 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기 및 리소스 관리를 포함하여 대량의 레코드를 처리하는 데 필수적인 재사용 가능한 기능을 제공합니다. 또한 최적화 및 파티셔닝 기술을 통해 매우 높은 볼륨 및 고성능 배치 작업을 가능하게 하는 고급 기술 서비스 및 기능을 제공합니다. 간단한 사용 사례(예: 데이터베이스로 파일 읽기 또는 저장 프로시저 실행)와 복잡한 대량 사용 사례(예: 데이터베이스 간에 대량 데이터 이동, 변환 등) 모두에서 Spring Batch를 사용할 수 있습니다. . 대량 배치 작업은 확장성이 뛰어난 방식으로 프레임워크를 사용하여 상당한 양의 정보를 처리할 수 있습니다.
배경
오픈 소스 소프트웨어 프로젝트 및 관련 커뮤니티에서 웹 기반 및 마이크로서비스 기반 아키텍처 프레임워크에 더 많은 관심을 기울이는 동안 Java 기반 일괄 처리 요구 사항을 수용하기 위한 재사용 가능한 아키텍처 프레임워크에 대한 집중도가 눈에 띄게 부족했습니다. 엔터프라이즈 IT 환경 내 처리. 재사용 가능한 표준 배치 아키텍처의 부족으로 인해 클라이언트 엔터프라이즈 IT 기능 내에서 개발된 많은 일회성 사내 솔루션이 확산되었습니다.
SpringSource(현재 VMware)와 Accenture가 협력하여 이를 변경했습니다. 배치 아키텍처 구현에 대한 Accenture의 실무 및 기술 경험, SpringSource의 깊이 있는 기술 경험 및 Spring의 입증된 프로그래밍 모델이 함께 자연스럽고 강력한 파트너십을 형성하여 엔터프라이즈 Java의 중요한 격차를 메우는 것을 목표로 하는 고품질의 시장 관련 소프트웨어를 만들었습니다. . 두 회사는 Spring 기반 배치 아키텍처 솔루션을 개발하여 유사한 문제를 해결하는 여러 고객과 협력했습니다. 이 입력은 클라이언트가 제기한 실제 문제에 솔루션을 적용할 수 있도록 하는 데 도움이 되는 몇 가지 유용한 추가 세부 정보와 실제 제약 조건을 제공했습니다.
Accenture는 지원, 개선 및 기존 기능 세트를 구동하기 위한 커미터 리소스와 함께 Spring Batch 프로젝트에 이전에 독점적인 배치 처리 아키텍처 프레임워크를 제공했습니다. Accenture의 기여는 지난 몇 세대의 플랫폼(메인프레임의 COBOL, Unix의 C++, 그리고 이제 어디서나 Java)으로 배치 아키텍처를 구축한 수십 년간의 경험을 기반으로 합니다.
Accenture와 SpringSource 간의 공동 작업은 소프트웨어 처리 접근 방식, 프레임워크 및 엔터프라이즈 사용자가 배치 애플리케이션을 만들 때 일관되게 사용할 수 있는 도구의 표준화를 촉진하는 것을 목표로 했습니다. 기업 IT 환경에 검증된 표준 솔루션을 제공하고자 하는 기업 및 정부 기관은 Spring Batch의 이점을 누릴 수 있습니다.
사용 시나리오
일반적인 배치 프로그램은 일반적으로 다음과 같습니다.
- 데이터베이스, 파일 또는 대기열에서 많은 수의 레코드를 읽습니다.
- 어떤 방식으로든 데이터를 처리합니다.
- 수정된 형식으로 데이터를 다시 씁니다.
Spring Batch는 이 기본 배치 반복을 자동화하여 일반적으로 사용자 상호작용 없이 오프라인 환경에서 유사한 트랜잭션을 세트로 처리하는 기능을 제공합니다. 배치 작업은 대부분의 IT 프로젝트의 일부이며 Spring Batch는 강력한 엔터프라이즈급 솔루션을 제공하는 유일한 오픈 소스 프레임워크입니다.
비즈니스 시나리오
Spring Batch는 다음 비즈니스 시나리오를 지원합니다.
- 배치 프로세스를 주기적으로 커밋합니다.
- 동시 일괄 처리: 작업의 병렬 처리.
- 단계적 엔터프라이즈 메시지 기반 처리.
- 대규모 병렬 일괄 처리.
- 실패 후 수동 또는 예약된 다시 시작.
- 종속 단계의 순차적 처리(워크플로 기반 배치로 확장).
- 부분 처리: 레코드 건너뛰기(예: 롤백 시).
- 배치 크기가 작거나 기존 저장 프로시저 또는 스크립트가 있는 경우 전체 배치 트랜잭션.
기술적 목표
Spring Batch의 기술적 목표는 다음과 같습니다.
- 배치 개발자가 Spring 프로그래밍 모델을 사용하도록 합니다. 비즈니스 논리에 집중하고 프레임워크가 인프라를 관리하도록 합니다.
- 인프라, 배치 실행 환경 및 배치 애플리케이션 간의 문제를 명확하게 구분합니다.
- 모든 프로젝트에서 구현할 수 있는 인터페이스로 공통의 핵심 실행 서비스를 제공합니다.
- "즉시" 사용할 수 있는 핵심 실행 인터페이스의 간단한 기본 구현을 제공합니다.
- 모든 계층에서 Spring 프레임워크를 사용하여 서비스를 쉽게 구성, 사용자 지정 및 확장할 수 있습니다.
- 기존의 모든 핵심 서비스는 인프라 계층에 영향을 주지 않고 쉽게 교체하거나 확장할 수 있어야 합니다.
- Maven을 사용하여 구축된 애플리케이션과 완전히 분리된 아키텍처 JAR로 간단한 배포 모델을 제공합니다.
열심히 한번 파보자..!!!!