Skip to content

Files

Latest commit

0960f47 · May 30, 2018

History

History
44 lines (27 loc) · 1.96 KB

scaling_and_parallel-processing.md

File metadata and controls

44 lines (27 loc) · 1.96 KB

여러가지 병렬처리를 제공

멀티 쓰레드 Step

  • TaskExecutor
  • throttleLimit()로 인한 쓰레드 제한
  • ItemReader가 thread safe하지 않을 경우, SynchronizedItemStreamReader을 사용하거나 synchronizing delegator를 만든다. (writer는 없네??)

병렬 Step

  • FlowBuilder를 이용한 구성(기본값: SyncTaskExecutor)
  • 예시

Remote Chunking

Alt Remote Chunking

Partitioning

Alt Partitioning

  • Step 실행을 분할하고 원격으로 실행하기위한 SPI 제공
  • PartitionStep, 전략 인터페이스(PartitionHandler, StepExecutionSplitter)

Alt Partitioning SPI

PartitionHandler

  • 원격이나 그리드 환경의 구조를 알고 있는 컴포넌트
  • 원격 Step 인스턴스에 DTO 같은 특정 형식으로 StepExecution을 보낼 수 있음
  • 다양한 구현체(simple RMI remoting, EJB remoting, custom web service, JMS, Java Spaces, shared memory grids (like Terracotta or Coherence))
  • 로컬에서 멀티 쓰레드로도 활용 가능(TaskExecutorPartitionHandler)

Partitioner

  • SimplePartitioner

Binding Input Data to Steps