Akka 资源连接池的参与者应该长寿还是短命?

Akka 资源连接池的参与者应该长寿还是短命?,akka,actor,lifetime,Akka,Actor,Lifetime,我们正在Akka中设计该系统,其部分工作是使用共享池中有限数量的连接执行操作。创建一个连接管理器角色是合理的,该角色将根据需要实例化子角色,并将其数量限制为连接池的大小。但是,是否应该为每个单独的操作创建子参与者,并在其完成工作后停止,或者它们应该遵循各自的连接,即在没有请求的情况下,在应用程序的生命周期中保持空闲状态 我的第一个想法是,只要创建actor是便宜的(而且是便宜的),如果每个actor只分配一个任务,并且在完成后立即终止,那么子actor维护逻辑就会更容易。但是,如果没有空闲的参与

我们正在Akka中设计该系统,其部分工作是使用共享池中有限数量的连接执行操作。创建一个连接管理器角色是合理的,该角色将根据需要实例化子角色,并将其数量限制为连接池的大小。但是,是否应该为每个单独的操作创建子参与者,并在其完成工作后停止,或者它们应该遵循各自的连接,即在没有请求的情况下,在应用程序的生命周期中保持空闲状态


我的第一个想法是,只要创建actor是便宜的(而且是便宜的),如果每个actor只分配一个任务,并且在完成后立即终止,那么子actor维护逻辑就会更容易。但是,如果没有空闲的参与者可用,并且请求必须排队,这会使挂起请求的管理变得复杂。我不喜欢的另一种方法(长寿的儿童演员)是,如果演员因邮箱非空而死亡,则有可能丢失未决请求。

你看过Akka内的路由器了吗?一个最小大小为1的动态大小的池可能非常适合您尝试执行的操作。是的,我已经看过路由器,这就是我计划用于管理子角色的内容。但我仍然不确定最好的生命周期策略是什么:在请求之间保持参与者的活动性,或者在每个作业之后创建和终止参与者。