2013-10-20 2 views
0

스프링 배치 작업을 세 대의 기계에서 실행하고 있습니다. 예를 들어 데이터베이스에는 30 개의 레코드가 있고 각 머신의 배치 작업은 고유 한 10 개의 레코드를 선택하여 처리해야합니다.스프링 배치 - 병렬 처리

파티션 나누기 및 병렬 처리를 읽었으며 비트가 혼란 스럽습니다. 어느 것이 적합합니까?

감사합니다.

답변

2

당신이 설명하는 것은 파티션입니다. 파티셔닝은 입력이 파티션으로 분할되고 각 파티션이 병렬로 처리되는 경우입니다. Spring Batch는 파티셔닝을 실행하는 두 가지 다른 방법을 제공합니다. 하나는 스레드를 사용하는 로컬입니다 (TaskExecutorPartitionHandler를 통해). 다른 하나는 메시지를 통해 파티션을 배포하므로 Spring Batch Admin의 스프링 배치 통합 프로젝트에있는 MessageChannelPartitionHandler를 통해 로컬 또는 원격으로 실행할 수 있습니다. 원격 파티셔닝에 대한 자세한 내용은 여기에있는 다중 jvm 배치 처리에 대한 내 대화를 참조하십시오. http://www.youtube.com/watch?v=CYTj5YT7CZU

+0

감사합니다. 스프링 통합을 사용하여 분할 작업을하는 대신 프로세스 지시자 패턴을 사용하여 병렬 처리를 수행 할 수 있습니다. – Rathna

+0

필자는 원격 청킹 (chunking) 또는 원격 분배 (remote portioning)가 나의 유스 케이스에 대한 실행 가능한 솔루션이라는 것을 이해했다. 시간 내 주셔서 대단히 감사합니다. – Rathna