繁体   English   中英

Akka.Net (C#) 向集群中的所有参与者发布消息

[英]Akka.Net (C#) Publish message to all actors in a Cluster

我正在尝试在集群中使用发布/订阅模式。 这方面的文档非常差。

我正在寻找的场景是: 1. 演员订阅了一个事件。 2.在代码的任何地方,向actor系统中此事件的所有订阅者发布一条消息,而不选择actors。

从“现有”文档中,这样做的方法是使用: DistributedPubSub.Get(Context.System).Mediator;

然而,一旦我启动了一个调解器,我就会得到一个“关联”异常。

  1. 我错过了什么?
  2. 有人可以指出我的工作演示吗?

谢谢

您是否真的希望向集群中每个节点中的所有参与者发送相同的消息?

我是 Akka.NET 的新手,但如果我要进行此操作,我可能会尝试创建一个参与者来监听集群八卦以了解参与节点的信息,并且如果可能的话,还可能记录单个参与者的记录,否则请找到一种方法查询单个节点中包含的参与者。 一旦你引用了这些演员,向他们发送消息就应该足够直接了。

无需担心发现集群中所有参与者的内置方法,您可以将其构建为每个节点的一部分,以指定一个参与者(可能以 1:1 的方式从路由器部署到节点),该参与者维护所有本地参与者的注册表。 也许可以在查询时提供对这些参与者的引用,或者该节点可以充当代理/网关向本地参与者广播消息。

一般来说,如果您谈论的是路由器后面的节点,似乎您应该能够将您的消息包装在 Broadcast 消息中以获得对路由的预期效果。

暂无
暂无

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

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