我有一个聚合了一些信息并处理它的演员。目前,它看起来像这样:如果我有一个演员,该怎么办应该有很大的节奏?
class MessageTracerActor extends Actor{
override def receive: Receive = {
case MyActor.TracableMessage(msg) => //send processed msg to another place
case v: Any => //corner-case, has special handler
}
}
演员应该要发送的延长TracableMessage
消息的痕迹。但TracableMessages
是从相当多的演员发送和主机MessageTracerActor
在一台机器上不是很好。
我看着cluster shrading,但这似乎并非如此。他们说,当你比有一个适合机器 很多演员状态 一起消耗更多的资源(例如内存)
集群分片通常使用。如果你只有几状态的演员,可能更容易 一个集群辛格尔顿节点上运行它们。
但是,Cluster Singleton严格地托管在一个不可伸缩的节点上。
也许有与我可以指定线程用于处理由演员收到的邮件数量(甚至节点)的一些配置选项?
我是一个新手,阿卡,但不会是有意义的使用阿卡路由器/ routees增加吞吐量,而不是只用一个演员。 – Samar
@Samar有趣的是,我读了这篇文章。在他们的例子中,他们自己创造了演员。在群集的情况下,我将不得不手动部署演员到特定的节点。也许分片更好,因为它本身可以跨节点传播分片。 –
路由器可以将消息发送到分布式系统中其他节点上的路由。这是一个解释路由器/ routee策略以增加吞吐量的链接。 https://www.packtpub.com/books/content/dispatchers-and-routers – Samar