Page History
Info |
---|
라우터는 액터의 목적지 대상 경로를 정의하는 특수한 속성입니다. 동일메시지가 여러개의 경로에 복제 전달될수도 있으며, 최적화된 어떠한 경로에만 갈수도 경로를 동적으로 선택할수 있습니다. 즉, 메시지 전송 전략에따라 다양한 라우터 선택이 가능합니다. |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
var props = Props.Create<Worker>().WithRouter(FromConfig.Instance); var actor = system.ActorOf(props, "workers"); |
Pools VS Groups
Pools : 라우터에게 생성할 인스턴스 수만 제공하면 액터생성을 처리합니다. ( 경로지정 없음,관련액터자동생성)
...
- 풀(Pool) : 라우티를 관리하는 라우터 풀은 라우티를 만드는것부터 종료시 목록에서 제거하는것 까지 책임을 진다.
- 그룹(Group) : 라우티를 자동으로 관리하지 않으며, 직접 경로를 지정하여 그룹화 라우티가 인스턴스화 되는곳을 직접 제어가능
draw.io Diagram | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
풀라우터는 라이티가 라우터의 자식이여야 하지만, 그룹 라우터는 다른 액터(RouteeCreator)의
자식일수도 있다. 그룹의 경우 라우티의 부모가 같지 않아도되며, 각 라우터가 생성되어 실행중기기만
하면 된다.
라우터의 종류
...
이름 | 작동다이어그램 | 특징 |
---|---|---|
| 단순하게 들어온 메시지 순서대로, 순차적으로 대상 노드를 바꿔가며 전송시 사용 | |
| 어떠한 정보의 변경을 모든 노드가 알아야할시, 주로 전체 동기화및 전체 푸시용도 | |
| 랜덤 메시지 전송 | |
| 특정 처리에 대해 해시값기반 베이스로 노드의 변경의 가능성을 최소화할때 | |
| 기본적으로 랜덤이나, 느린놈을 제외하고 특정시간이 지나야 다시 합류시킴(일반적으로 빠른 응답속도 보장용) 옵션:
| |
| 성능을 위해 다중노드로 구성하였으며, 가장 빠르게 처리한 녀석의 결과를 사용할시 | |
| 덜바쁜 노드우선으로 메시지를 보내고자 할때, 대용량 메시지 전송 보증이 필요할때 | |
| 성능을 위해 다중노드로 구성하였으며, 가장 빠르게 처리한 녀석의 결과를 사용할시 옵션:
|
...