EDIT : 아래에 설명 된 배우 생성은 데이터에 달려 있습니다. 때로는 처리자가 거의 필요하지 않으며 때로는 많은 경우가 있습니다.너무 많은 배우 생성을 다루는 방법
내가 작업하고있는 하나의 구성 요소는 처리 할 메시지의 양이 많은 액터 (라운드 로빈 라우트 된 것일 수도 있음)를 만들어야합니다. 각 액터는 초기화 매개 변수가 동일한 "처리 배치"에 속합니다.
많은 메시지가있는 프로덕션 시스템에서이 작업을 실행하면 많은 액터 생성 시간 초과가 발생합니다. 저는 ActorSystem.actorOf()
으로 배우를 직접 만들고 있습니다.
놀랍지 만 비록 모든 사람들이 내가 만든 많은 액터가 없다고 생각합니다. (5 개의 라운드 로빈 라우팅 된 배우가있는 8 개의 "싱크대"는 40 명의 배우가 될 것입니다. 많은).
다른 배우 (처리중인 액터를 통해 얻는 성공과 실패의 양을 집계 함)를 사용하여 더 이상 필요하지 않은 액터를 닫을 예정입니다. PoisonPill
을 보내면 그들은 모두 올바르게 폐쇄되었다.
내가 배우를 만드는 것과 같은 방식으로 여기 뭔가 잘못하고 있습니다. 다르게 만들어야합니까? 또는 새로운 전략을 만들기 전에 일부 배치가 완료 될 때까지 기다리는 것이 적절한 전략일까요?