问题标签 [akka-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
606 浏览

scala - 构建模块化 Akka 系统

我们正在构建一个基于 Akka 集群的多组件系统。每个组件都是一个单独的 Play!项目并在启动时加入 Akka 集群,组件开始查找参与者工作。

问题

我对这个设置有两个问题:

  1. 编写测试代码非常困难(我们还没有弄清楚这一点),特别是在编写依赖于来自不同组件的多个参与者的测试时。我们如何解决依赖关系并在测试代码中创建适当的集群(在两个播放应用程序之间!)

  2. 在开发过程中,每个开发人员都必须启动多个 Sbt 实例来启动系统(不同的游戏项目),这会占用整个系统内存,开发变得异常缓慢。

我在寻找什么

我正在考虑使用集群“角色”属性进行选择性启动,这意味着只有一个 Play 项目,组件是(模块),并且在启动 Play 项目时我将扫描当前的“角色”此实例的属性并基于此我启动或停止某些组件/参与者。

这将使测试更容易,但我不知道如何在 Play 中执行此操作,特别是某些组件实际上提供 RESTful API(Play 控制器)并且我不知道如何在启动时启用/禁用路由和控制器玩。

是否有任何文件或内容显示构建模块化分布式系统的正确方法或任何线索?(也与如何设置 SBT 有关?

编辑 1:该项目位于单个存储库中,并且具有单个 sbt 构建(多个项目)

0 投票
2 回答
815 浏览

akka - 没有订阅者注册时 akka pub-sub 的行为

我们计划在我们的项目中使用 akka pub-sub。我有以下 2 个查询 reg。akka pub-sub 行为。

  1. 如果发布者在任何参与者订阅之前开始发送消息怎么办。在任何订阅者出现之前发布的那些消息会发生什么。那些会被默默地丢弃吗?

  2. 如果订阅者 Actor 死了怎么办?[根本没有订阅者] 发布者发送的消息会在某个地方累积还是会被发布-订阅系统丢弃。

0 投票
2 回答
496 浏览

java - Akka Cluster In Java 使用 Java Mail API 获取 IMAP

我想启动一些任务,它将连接到一个IMAP并将电子邮件数据存储在数据库中。

现在这样的工作将有巨大的容量来支持许多IMAP帐户。我想利用 Akka 集群功能,它可以在网络中预定义的一组机器上运行这些作业,并在从IMAP主机获取数据时发生错误时重试。

我想创建一个 akka 集群,它将启动IMAPfetch 作业(通过 Actor ?? !! )。

IMAP是一个棘手的协议,它可能无法连接到远程主机。在这种情况下,参与者应该重试几次可配置的时间来连接和获取。

最终它应该充当我的IMAP取回后端。

我应该怎么做?

0 投票
1 回答
161 浏览

java - OSGI 中 Akka 2.2.x 远程中的 ClusterMessageSerializer ClassNotFoundException

我使用远程参与者开发了我的应用程序。现在我正在尝试将捆绑包安装到 Felix 中,但问题是它需要我一个 ClusterMessageSerializer 类。我没有使用集群,我的配置是一个简单的远程参与者。你知道为什么会出现这个问题,我该如何解决?

我尝试导入 akka.cluster,但 felix 需要 scalabuff,版本介于 1.2.0 和 1.3.0 之间,不是捆绑包。

这是我的 application.conf:

这是一个例外:

0 投票
1 回答
709 浏览

akka - 如何在启动期间启动特定数量的工人演员?

我创建了基于集群的akka​​应用程序。

https://github.com/typesafehub/activator-akka-distributed-workers-java/blob/master/tutorial/index.html

将来是否有任何构建可以在集群中运行特定数量的给定类型的参与者。我应该创建路由器还是有更好的方法?

http://doc.akka.io/docs/akka/snapshot/java/routing.html

0 投票
1 回答
1785 浏览

akka - 如何在 Akka 中加载 application.conf

谁能帮我解决以下问题。我正在使用播放框架和 Akka。我的编程语言是Java。我正在尝试使用 Akka 集群。在 Akka 文档中,据说 application.conf 应该放在 src/main/resources 中。但是在 Play 框架中,没有名为 src 的文件夹。所以我必须创建文件夹 src 并将 application.conf 放在那里。我还将我的代码放在 src/main/java/sample/cluster/simple 中。但似乎 application.conf 无法加载到 ActorSystem 中。我试过了

但我没有看到配置有任何变化。如果我将所有配置详细信息放入

它工作得很好。有人知道这里穿什么吗?非常感谢。

0 投票
0 回答
131 浏览

akka - 缩放 Akka ActorSystem

我在一个带有 filecollectorActor 和 DecoderActor 的集群中有一个 Actor 系统。它在单机上运行良好并提供预期的性能。现在,我想通过在两台服务器上运行相同的程序来测试可伸缩性。

我如何运行演员以便使用两个 CPU?我是否需要在两台服务器上制作主管演员之类的东西,然后启动演员集群?

如何定义具有不同 IP 的种子节点?

如果您认为问题含糊不清,请将我引导至文档(无法在 akka 文档上获得答案),或者示例或询问澄清问题。

谢谢,

-Saket

0 投票
1 回答
1472 浏览

scala - Akka 不会自动加入种子节点

我用 play app 定义了一个 akka 集群。

应用程序.conf

然后我定义了一个集群监听器

并像这样启动我的应用程序

我首先在 192.168.1.100 上启动应用程序,它加入。

然后我在192.16.1.101和上启动相同的应用程序192.16.1.102

但是第一个种子节点永远不会收到加入事件!

我应该怎么做,让其他节点加入这个集群?

0 投票
1 回答
229 浏览

grails - 具有多个参与者的 Akka 路由器无法正确接收消息

在这里,我使用 SmallestMailboxRouter 创建了一个路由器

现在在 for 循环中我创建了 38 个演员

每个参与者将处理逻辑并返回分数和消息。我通过覆盖 onreceive 方法并将它们添加到列表中来接收消息

如果我多次运行该程序,我会得到不同的分数。但它应该总是返回与我给出相同输入相同的分数。

}

这里 standardActorResponse 包含 message 和 score 。如果我只使用 for 循环而不是 akka 框架来使用相同的逻辑,我将收到一致的结果。但是在akka中随机得到不同的结果。例如,我有一些规则,例如 loginexistence 和 navigationexistence 和 alertsexistence 规则。我已经为这些规则提供了一个 html 源,以检查 html 源是否在该源中具有登录、警报、导航链接。有时我正在登录不存在,有时导航不存在,有时警报不存在通过使用 akka 路由器和演员。但是如果我使用 for 循环,我总是得到相同的结果

谁能帮我找到问题。我正在使用 akka 2.1.4

0 投票
1 回答
519 浏览

akka - 不使用路由器的Akka中Actor的多个远程部署

有没有办法在不使用路由器的情况下在多台机器上部署远程参与者?

在以下配置中,我可以在远程中放置多个地址吗?