我正在构建一个actor系统,其中一个控制器actor接收请求并旋转worker actor来执行各种任务。使用指定实际任务的函数委托调用worker。所以工人是:
class WorkerActor(workFunc: (OwlChunk=>Unit) => Unit) extends Actor
控制器将其旋转:
actorRefFactory.actorOf(Props(classOf[WorkerActor], workFuncToBePerformed)
其中OwlChunk=>Unit
表示向工作者演员报告进度的回调。
我已经完成了这一切,并且在我的小测试环境中它运行得非常好,但我有一种感觉,我可能会违反演员的最佳实践。我呢? (例如,当worker运行其workFunc时,是否使用"属于"控制器actor的字节码?这在分布式系统中是不是很糟糕?)