Page History
...
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
심플 라우팅 워커 설계
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
라우팅 전략은 다양한 유입처리를 어떻게 분배하여 성능적 또는 안정적으로 유실없이 모두 처리할것인가?에
에 대한 해결책으로 , AKKA에서는 서비스코드 내에 직접 설계가 가능하도록 몇가지 툴을 제공해줍니다대한것으로 이러한것을 AKKA를 사용하면 서비스코드내에 직접 설계가 가능하도록합니다.
물론 이러한 목표를 달성하기위해 KAFKA와 같은 외부 MQ를 잘 사용하는것도 방법중에 하나일것입니다.
라우팅은 주로 분배및 작동방식을 의미를 하고, 라우티는 실제 Task를 처리할수있는 종단점에 위치한 액터입니다.
...
random-pool,balancing-pool 등 원하는 분배방식을 설정을 통해 변경 할수가 있으며
라우팅기능이 추상화되어 사용가능함으로, 코드내에서 간단하게 활용가능합니다.
일반적으로 스레드풀관리를 직접 구현하여 라우팅기능을 구현하는것보다는 훨씬 쉬우며
외부 MQ시스템을 활용하는것보다는 번거러울수 있으나, 이러한 기능들을 직접 설계에반영하여
쉽게 내재화할수 있다란것은 장점중하나이며, 직접구현을 시도할시
클러스터를 포함하여 라우팅기능에대핸 라우팅기능에대한 이해가 높아지기때문에 외부시스템과 연동하거나 이용할때도 도움이됩니다.
...
라우터에 병렬처리에 관련된 능력을 지정하고자할때 설정될수 있습니다.
최대 5개의 스레드를 동시에 사용하겠다고 하는 설정사항입니다.
성능을 고려하여 이값을 잘 지정하는것은 생각보다 어려운주제이지만, 설정은 쉽습니다.
참고링크: 여기 샘플코드는,아래문서를 참고하여 Spring Boot에 호환이되도록 재구성되고 테스트 되었습니다.
...