Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

해결을 하였으나, 장비한대의 극한 성능을 올리기위해서 표준적이지 못한

스레드 프로그래밍의 개발방법으로 인해  서비스의 흐름보다

프로그래밍과 좋은 서비스제공보다 대용량 처리를위해 스레드를 얼마나 더 잘다루느냐?  서비스코드를 가려버리는 상황이 발생하였으며흐름을 방해하는 요소가 되었습니다.

결정적으로 대용량 분산처리환경에서 이것은 큰 도움이 되지 못한다는것입니다.

...

AKKA에서 처음등장한 개념은 아니며,  AKKA의 Dispatcher는 이러한 컨셉을 잘 준수하며

비동기처리에대한 튜닝요소도 포함하고 튜닝장치로 사용될수 있습니다.

Dispatcher전략

  • 스레드풀을 분리해라 : 응답이 오래걸리는것과 아닌것을 분리함으로, 오래걸리는것을 별도로 스레드수를 확보할수가 있다.
  • 순차처리보다 병렬처리를 활용 : 한가지의 요청이 끝나기전 다른 요청이 진행될수 없는경우와 동시에 요청을한후 머징처리되는게 효율적인경우를 분리 
  • 최종전략 : 순차적으로 처리해야할것과 병렬적으로 처리해야할것이 썩일수 있으며 튜닝은 이것을 고려해야한다.

...

  • thread-pool-executor : 각 Task의 완료시간이 비슷할시 유용하다유용하지만 전체완료시간을 줄이는데 기여하지는 못함, 빠른 Task가 모두 완료될시 놀고있는 스레드가 생길수가 있다. 동시성 병렬처러 프로그래밍 모델에 일반적으로 활용되는 모델임
  • fork-join-executor : 각 Task의 완료시간이 차이가 있을시 유용하다유용하며 전체 완료시간을 줄이는데 목표로함, 놀고 있는 스레드의 자원 가져다가 활용할수있다. 동시성 비동기 프로그래밍모델에서 일반적으로 활용되는 모델임


참고 자바이슈 : http://hamait.tistory.com/612


Dispatcher Option

  • parallelism-min =2 : 동시에 활성화되는 최소 스레드수 (available processors * factor)
  • parallelism-max = 8 : 동시에 활성화되는 최대 스레드수
  • parallelism-factor =2.0 : Core개수대비 최대가 될수있는 스레드수
  • throughput =100 : 동시에 처리하는 메시지수
  • fixed-pool-size =32 : 스레드 개수 고정

...

자바가가진 스레드풀의 개념과, 이를 더 추상화해주는 dispatcher에 대한 더 자세한것은

더 자세한것은 아래 URL을 통해 한번더 학습하는것을 권장합니다.

...

살펴볼수 있습니다.

...