繁体   English   中英

定义Akka演员数的最佳做法是什么

[英]What is the best practice for defining Akka Actor Count

我试图弄清楚Akka的工作方式以及使用Actor模型的最佳实践是什么。

关于相同的问题,我有几个问题。

问题:

  1. 在为下面提到的场景配置Actor和Thread的总数时,我们应该牢记的决定因素是什么?

    场景:

    一种。 告诉是在actor上被调用(Fire和Forget)。

    b。 Ask被调用(未来与承诺)。

  2. 使用路由器(例如RoundRobinRouter(X))优于手动角色创建的优缺点是什么?

  3. 调度程序如何协调邮箱,角色和线程以进行消息处理。

可以独立于参与者和路由器使用期货和承诺。 同样,下面的Alvin Alexander链接在比较Futures / Promises和Threads(与Java中的相同)方面也做得很好。

您应使用的路由类型将取决于您的特定应用程序需求。 通常,您应该选择一种能够反映您要解决的实际问题的路由技术。 例如,它更像是邮箱或公共汽车/广播,还是循环轮询。

如果您不使用Akka提供的内置路由器,那么您可能会想编写自己的路由器。 但是,您可能很难对Akka库进行改进:在下面的akka​​.io文档中,他们解释说某些路由工作是由库委派给参与者的,以解决路由器是单路由的事实。线程化。

如果您有数GB的RAM,则典型的计算机将允许您启动数千个线程或参与者。 但是,在任何时刻,实际运行的线程数不会超过您CPU中具有的内核数。

以下是一些文章,可以帮助您决定使用哪些技术以及合适的线程和参与者数量:

http://doc.akka.io/docs/akka/2.4.10/scala/routing.html

Akka消息传递机制示例

Scala中可以启动多少个演员?

http://alvinalexander.com/scala/differences-java-thread-vs-scala-future

一个CPU一次可以运行多少个线程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM