问题标签 [akka.net]
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.
f# - 无效的 ActorSelection 地址
我在本地设置了两个演员,但演员系统不同。这里的目标是让参与者 A 向参与者 B 发送消息。
但是,我无法让演员 A 使用 ActorSelection 向演员 B 发送消息(远程处理),如下所示:
会出现“无效地址”的错误。我做错了什么?
我已经黔驴技穷了。
编辑:
这是我的客户端配置:
这是我的服务器配置:
这是客户端的输出:
另一件事是,为什么端口号总是回退到 2552 ?我使用了 app.config 以及从内部代码解析。它仍然使用相同的端口号。
akka.net - 为什么我会在关机时收到关于未送达消息的 DeathWatchNotification?
为什么在运行此控制台应用程序时会收到 DeathWatchNotification:
显然我没有发送任何消息,演员也没有做任何事情。这不是什么大不了的事,但我担心如果我忽略此消息,我会错过一个真正的问题。
akka.net - 如何在 Akka.Net 中对 DDD 业务对象结构进行建模?
对于一个想象的层次结构建模为:
或者,层次结构可以更简单地实现为:
我将如何在代码中将其表示为 Akka.net 中 Actor 的层次结构?
我来自 DDD 背景,我敢肯定,一旦我了解它,这是一个简单的飞跃。实际上,问这样一个基本简单的问题感觉有点尴尬,但你去吧。新的闪亮等等。
谢谢!R。
akka.net - 关闭连接时的 Akka.net EchoServer 示例死信
关闭与 Akka.Net TcpEchoService 示例( http://getakka.net/docs/IO )的连接时,我收到以下死信:
这是设计使然吗?或者我可以做些什么来阻止死信的发生?
etl - 使用 Akka.net / Actor System 进行 ETL 过程
我是演员模特界的新手,我爱上了这个想法。但是是否存在一些模式来处理一批消息,以安全的方式进行批量存储?
恐怕如果我阅读了预期 500 条的 400 条消息并将它们放在一个列表中,如果系统关闭,我不想从(持久)邮箱中丢失这 400 条消息。在服务总线世界中,您可以请求一批消息,并且只有在处理后,才提交所有消息。谢谢你。
c# - 嵌套询问的正确模式
我有一个有很多孩子的演员,我正在查询它以获取其孩子中的数据聚合。此操作可能需要几秒钟。
我正要这样做,感觉完全错了。句柄方法由Ask<>
.
我有一些想法,但想得到一些意见,因为我真的不想重新发明一个 20 面的轮子。
我担心Sender
当我最终调用它时它会指向什么Tell
,因为它是一个静态调用。
我最终使用了Task.WhenAll
延续,但仍然不相信这是正确的 Akka 方式——这就是这里的重点。我可以让它工作,我只想知道最佳实践选项。
c# - 什么是标准的 Akka.Net 消息命令验证模式?
我们的许多消息都需要验证才能安全处理。检查输入,有时应用复杂的业务规则。
在 Akka 之前的设计中,我会有ICommandValidator<T>
一个单一方法IsValid
和一个错误属性。因此,具体的验证器会告诉您消息是否有效,如果不是,您可以阅读错误。
在 Akka.Net 中,我开始为每条消息编写具体的 Validator Actor(显然创建更多的 Actor 是好的)——例如 CreateTenantCommand 由 TenantCreatorActor(从 ReceiveActor 继承)发送到 CreateTenantCommandValidatorActor 进行验证。如果它是有效的,则 CreateTenantCommandValidated 消息(基本上是包装的原始消息)被发送到 TenantCreateActor 并解包消息,然后处理该消息。
我想知道我是否应该将未经验证的消息列表与需要验证的参与者一起存储,然后将这些消息与验证响应相关联,还是应该来回发送整个消息以进行验证?验证器需要验证整个消息,但是我不确定在请求参与者上保持消息完整并仅确认其有效性的好处?
在 Akka.Net 消息和 Actors 中使用泛型是否常见?这似乎是一个包含大量样板的区域,但我从未在任何示例中真正看到过太多泛型,这让我很担心。我的设计看起来像:
另一种方法是创建一个组合ValidatedCommand<T>
然后我可以创建一个通用的 ValidatorActor 并向其中注入一个验证器类。例如
使用通用验证器参与者,例如:
可能应该注意我意识到它可能应该是这样ValidateAsync
,然后PipeTo
演员就不会阻止。所以这可能需要ValidatedCommand<T>
从 ValidateAsync 方法返回的方法
这意味着这些消息可以标准化。这是在 Akka.Net 中处理消息验证的合适方法还是我完全错了?
akka.net - Akka.net 集群循环组配置。不路由消息
我正在尝试配置一个集群组路由器,并想彻底检查我对“如何”工作的假设。
我在集群中有 2 个单独的节点,它们具有以下角色“mainservice”和“secondservice”。在“mainservice”中,我想使用循环组路由器向“secondservice”中的 Actor 发送消息。
在 akka hocon 配置中,我在 akka.actor.deployment 部分中有以下内容:
我基于文档的假设是,我可以在“mainservice”中创建一个“secondserviceproxy”actor,它可以循环处理将消息路由到我的“secondservice”的任何正在运行的实例。
我还假设 routees.path 属性意味着消息被发送到位于其 Actor 层次结构中的“secondservice”中的 Actor,如下所示:“/user/gateway”。
我的工作假设是否正确?由于此实现在“第二服务”中没有产生任何结果。
akka.net - Akka.NET ConsistentHashingPool:为每个哈希创建路由
是否可以强制ConsistentHashingPool为每个哈希创建路由?我希望一个 routee 演员只处理相同哈希的消息。如果有新的哈希进来,就会创建新的 routee。
我试着去Resizer
上课,但我无法弄清楚实现我想要的东西的方法。
akka - 是否可以在没有路由器的情况下将参与者部署到集群
我正在制作一个包含父子演员的演员系统原型。我希望我的所有子角色都远程部署到特定的集群角色。我有 1..n 个父母,每个父母有 1..n 个孩子。在系统运行时根据传入消息创建/部署新实例。
我有以下演员路径,尽管根据我的问题,我可能没有正确建模。
- /user/parents/ -> 用于创建/寻址特定父参与者的工厂
- /user/parents/{parentId} -> 每个父节点一个实例,部署到“主”集群角色
- /user/parents/{parentId}/{childId} -> 每个孩子一个,部署到“其他”集群角色
在不使用组或池路由器的情况下,我无法找到部署到集群的文档或示例。
如何将子角色部署到集群(角色“其他”)?