当前位置: 首页 > 知识库问答 >
问题:

Akka调度器和路由器

马魁
2023-03-14

在阅读了Akka的文档和网上的一些帖子之后,我仍然对路由器和调度器之间的关系没有一个清楚的认识。

1)路由器是否总是使用dispatcher向路由进行调度?路由器是否可以不使用dispatcher完成其工作?

2)如果配置中没有定义额外的调度器,我的理解是将使用默认调度器。在我的actor系统中,我有一个集群,其中有两个生产者actor使用路由器actor和三个消费者actor。生产者和消费者都运行在不同的JVM中--对于actor系统来说,有一个默认调度器意味着什么?

我的理解是,调度器就像一个线程池执行器。在这种情况下,在不同的JVM中,难道每个JVM不都有自己的调度器实例和自己的线程池执行器吗?

3)与上述问题(https://doc.akka.io/docs/akka/current/dispatchers.html#problem-blocking-on-default-dispatcher):

使用Context.dispatcher作为阻塞Future在其上执行的分派程序可能会有问题,因为默认情况下,除非您为该执行元设置了单独的分派程序,否则此分派程序将用于所有其他执行元处理。

如果参与者运行在不同的JVM中,上面的内容还适用吗?如果是,这意味着什么?

共有1个答案

徐俊楚
2023-03-14

(1a)路由器是否总是使用调度器调度到路由?

是的。

(1B)路由器在不使用调度器的情况下能完成其工作吗?

1实际上,在一个JVM上可以有多个actorSystem。从文档中可以看到:

具有不同配置的几个actor系统可以在同一个JVM中共存而没有问题,在Akka本身中不存在全局共享状态。

 类似资料:
  • 对于路由器的重要性,我的脑海中一直存在着这样的疑问。我在当前的项目中使用了Akka路由器。但是,我对它的重要性有点困惑。出了下面两种方法,哪一种更有好处。 具有路由器和路由。 根据需要创建尽可能多的演员。 所以我想了解一下上面的设计哪一个更好呢?或者换句话说,在这种情况下(1)比(2)有优势,反之亦然。

  • 有人能解释一下(如果可能的话,用一些代码或参考)独立路由器和自包含的路由器参与者之间有什么区别吗? 提前谢谢你。 编辑: 与此相比有何不同?: 在性能或能力方面有什么区别吗?

  • 我有以下代码块调用两个请求略有延迟。 在actor1和actor2中,我调用了一个REST请求,该请求返回一个cookie和响应消息。我在这里的意图是延迟发送与actor2对应的REST请求。然而,我从日志中观察到,请求立即从两个参与者发送,只有响应处理(在两个未来之间)延迟10秒。这是Akka中调度器的预期行为吗?如果我想在上述情况下延迟两个参与者之间的请求启动,我可以使用线程。睡觉(我在某个地

  • 问题内容: 角度ui路由器的示例演示在起始页面具有以下链接: “ ui-router”的完整网址为或 “关于”的完整网址为或 当我使用durandalJS时,存在一个限制,即默认URL只是“ /”,不能有“ / ui-router”。 Angular ui路由器插件有相同的限制吗? 问题答案: 请参阅此处,默认路由有一个“其他”选项。

  • 我正在挖掘一个项目,使用骆驼路线与石英调度器。我对环境有点不熟悉,但试图弄清楚发生了什么,以及所有东西是如何结合在一起的,同时试图改变功能。只是不知道怎么做。 该组件是部署到Apache Karaf的作业管理器。如果我有活动作业的调度(quartz cron),那么当cron字符串匹配时,该作业将运行。该计划可以被禁用(这设置切换自动启动标志从我可以告诉)。这正像预期的那样工作。 如果禁用调度,等

  • 主要的类别是: 路由的执行元类为: