问题标签 [remote-actors]
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.
scala - 在没有新 ActorSystem 的情况下远程创建 Akka actor
我现在已经多次阅读文档(http://doc.akka.io/docs/akka/2.1.4/scala/remoting.html)并通过此处的示例(https://github.com/akka /akka/tree/master/akka-samples/akka-sample-remote)和通过其他人,我仍然无法弄清楚如何做我想做的事。我找到的最接近的答案是: 如何在 scala 中启动远程演员,但这似乎比我想象的要麻烦得多。
我有一个由 12 台机器组成的集群要处理。我想要一些类似的东西:
然后在主人内部,类似于以下内容:
看起来这将是一个相当常见的用例。是否有我遗漏的东西,或者有什么好方法可以做到这一点(就我的配置应该是什么样子,或者我真正需要多少 ActorSystems 而言)?我现在只是在努力合成一个好的解决方案。
scala - Akka 远程演员,没有默认构造函数的超类
我正在尝试使用 akka 远程参与者发送消息,其中案例类是在其构造函数中采用参数的超类的子类。
这是重现该问题的最小示例:
运行此代码时,我收到以下错误:
我认为这是因为消息无法反序列化(使用akka.serialization.JavaSerializer
),因为父母的构造函数。如果只有一两条消息,我知道我可以编写自己的序列化程序,但我的应用程序中有很多这样的案例类。
是否有任何简单的方法可以使用远程参与者传递这种对象?
akka - Akka 通知远程参与者出错
关于我正在构建的新 akka 应用程序,我遇到了设计挑战。问题/挑战是:在客户端我做了一个简单的演员,它发送一个请求,然后使用 become() 等待正确的服务器回答,当然还包括超时消息,以防万一我不'不能在适当的时候得到答复。然而,有趣的是在服务器端。在这里,我有以下结构:
Actor A(配置为循环路由器)此路由器正在接收来自客户端的所有请求。
然后演员 A 将消息转发给演员 A1、A2...Ax,这一切都是在演员 A 的上下文中创建的,这意味着它是他们的监督者。
在正常情况下,Axe 只能回复发件人,因为消息已转发,但是......如果出现错误,我想除了将其记录在服务器日志上之外,还给用户 som有关已发生错误的信息。
在完美的世界中,我希望能够以某种方式在主管策略中只说 getErrorActorsLastSender() 之类的内容,然后获取导致问题的客户端的 ActorRef。我更喜欢这个的原因是,我将有一个地方来处理所有的错误,并且所有不可预见的异常都会至少以某种通用的方式进行处理。
另一种方法是覆盖每个子actor上的prerestart()方法,然后制定主管策略以在抛出异常时重新启动actor。但是,这将要求我为 x 个子演员实现此方法。
有什么好的建议,如果这可以从主管策略中获得?
提前致谢。
java - 如何向相邻 jvm 中的 akka 系统发送消息?
我在一个 JVM 中使用 HelloActor 启动了 akka 系统,并尝试从另一个 JVM 中的客户端向它发送消息。没有任何效果。我应该如何正确地做到这一点?这是代码:
简单服务器
简单客户端
配置文件
它假设Server在Client之前启动。println(selection.anchorPath)
现在我在尝试获得这样的演员时收到“akka://mySystem/deadLetters”( )system.actorSelection("akka://HelloSystem@127.0.0.1:2552/HelloActor")
那么如何在另一个 JVM 中从 ActorSystem 中检索演员?还是在我创建集群、指定种子、领导者等之前是不可能的?
eclipse - Scala 远程 Actor 示例 - Eclipse
我使用此链接中给出的示例代码来实现 scala 远程应用程序:https ://stackoverflow.com/a/15367735/1932985
我得到以下输出:
服务器输出:
客户端输出:
我先运行服务器文件,然后运行客户端文件。我收到的输出是否正确?还是我执行的方式不对?请帮帮我!
谢谢,凯沙夫
scala - 具有自定义调度程序的 Akka 远程演员
我在使用“UnboundedDequeBasedMailbox”创建远程演员时遇到了困难,我拥有生成演员的主机,以及将在哪个演员上运行的奴隶。
master.conf:
slave.conf:
远程 Actor 由 ChronosScheduler 类生成:
ChronosScheduler 由对象 ChronosScheduler 生成:
我的错误是这样的:
任何人都可以提供有关此错误的任何提示吗?我认为发生这种情况是因为 ChronosScheduler 类没有访问对象 ChronosScheduler 配置的权限。但我无论如何都无法修复它。
解决方案: 我遇到的问题是由我在 master.conf 中声明 RemoteChannelRoutingActor 的方式引起的:
必须是这样:
java - 来自不同网络的 Akka 远程演员
我在 2 个不同的网络上有 2 个系统。一个系统位于公共云中,另一个系统位于 PC 上。问题是我无法远程访问 PC 系统,因为 PC 系统具有本地 ip 作为主机名(例如 192.168.1.140),并且在云系统上我指定目标系统 ip 来自我的公共 ip 的 ip。在路由器中,我进行了端口转发,以将来自指定端口的流量重定向到参与者系统。以下是 PC 演员系统上发生的错误:
谢谢你,马吕斯!
scala - Akka Actor on server not returning an ActorIdentity response to an Identify message
So I have this segment of code
However, when I send the identify message (which is the right path) it doesn't get an ActorIdentity, it just prints "not ready yet".
When I run the server locally everything works fine. So I'm really confused as to why the server is working as intended.
serialization - 强制本地 akka 序列化
我对 akka 远程和序列化(我能做什么和不能做什么)有一些疑问,因此我想强制 akka 在本地参与者系统中使用远程。
我怎样才能做到这一点?