akka.net相关内容
我们有一个名为A的集群分片参与者,并且它有多个子参与者使用每实体模式创建的子项,如下所示。 当我们将100条消息从演员B告知D并且演员D花费比方说500毫秒来处理每条消息时,同时,当我们使用Context.Parent.Tell(new钝化(PoisonPill.Instance))将毒丸发送给演员A时; 它会立即停止所有子执行元(包括执行元D),而不处理挂起的消息。 A |
..
在过去的 6 个月里,我一直在为我的实习开发 Windows 应用程序.该程序在其编程的笔记本电脑上正常工作,但我需要在另一台笔记本电脑上设置该程序.我安装了相同的 dotnet 核心版本 (3.0.100) 并在同一目录中启动了 .exe 和所有必需的 DLL(编译时).但是当我这样做时,我得到如下所示的错误. [ERROR][1/23/2020 7:58:41 PM][Thread 0006
..
有一个带有 TestActor 的简单主机,它只将接收到的字符串写入控制台: using (var actorSystem = ActorSystem.Create("host", HoconLoader.FromFile("config.hocon"))){var testActor = actorSystem.ActorOf(Props.Create(), "TestActor");Cons
..
我正在学习 Akka.NET.我正在尝试创建一个自定义记录器.我关注了教程博客文章.我一直无法让 Akka 连接我的自定义记录器.显然,行 var sys = ActorSystem.Create("AkkaCustomLoggingActorSystem"); 读取 Akka hocon 并根据设置配置日志记录.在创建 actor 系统后检查 sys 的值时,我可以看到保存的配置字符串,但记录器
..
我们正在将 akka.net 参与者添加到遗留系统的一部分. 基本思想是消息来自外部系统,它被传递给由 akka.net 参与者管理的逻辑,然后与执行诸如将数据保存到数据库之类的操作的遗留组件通信. > 遗留代码依赖于这样一个事实,即在 CallContext 中设置了 userId,然后它可以在执行数据库写入之前检索它(以存储诸如“CreatedBy"和“LastModifiedBy"
..
如果我想在不同的 PC 上运行两个 Lighthouse 种子节点,每个节点都应该知道另一个,我应该如何配置它们?尽管我发现提到使用多个 Lighthouse 实例并看到使用多个种子节点的非种子节点配置,但我无法在知道一个的单独 PC 上找到多个种子节点(特别是 Lighthouse)的示例另一个. 我目前有类似的东西,但我不确定它是否正确. 实际上,每个 BroadcastRouter
..
记录来自 Akka.net 集群的所有命令和响应的最佳方式是什么?日志记录将由记录器参与者的层次结构处理,但是这些记录器将如何接收或拦截各种命令和响应?我曾尝试使用事件总线订阅特定命令,但这似乎并不像我想象的那样工作,因为没有拦截任何命令. 解决方案 在 Akka.NET 中,每个参与者都有自己的消息队列,用于对传入的请求进行排序.有几种方法可以做到这一点: 最简单的方法是创建自己的
..
我正在尝试测试我的 Akka.NET 演员,但在使用 TestKit 并理解其工作原理时遇到了一些问题. 由于 Akka.NET 中还没有用于单元测试的官方文档,我已经探索了 Akka.NET 存储库的示例代码,但那里使用的示例对我不起作用. 我参考的测试是ReceiveActorTests.cs 和 (msg => msg.Who == "TestGreeter");}[事实]pub
..
我正在使用 Akka.NET 为生产项目创建概念证明,但我面临查询概念理解问题. 情况如下:CoordinatorActor 有一个包含数千个 Hotel-Actors 的列表. 我想查询所有 Hotel-Actors 以获取在特定日期有空房的所有酒店. 当然,我可以通过它们进行 foreach 并发送 .Ask 请求以获取特定日期.持有所有任务的引用并执行Task.When
..
我正在尝试使用我在互联网上找到的该示例,将Akka.NET用于VSCode中的F#. 代码 //ActorSayHello.fsx#time“开启"//#load``Bootstrap.fsx'';开放系统打开Akka.Actor打开Akka.Configuration打开Akka.FSharp打开Akka.TestKit//#使用演员//Actor是Akka的并发模型之一.//Actor
..
对于我的actor层次结构,直到我通过几个actor处理数据时,我才知道我需要的所有actor,所以我正在寻找一种返回现有ActorRef或创建新动作的方法.这就是我希望下面的代码创建一个actor(如果一个角色不存在于"my-id-1"处)或返回一个已经存在的actor. Context.ActorOf(MyActor.Props(message),"my-id-1"); 上面的代码(已
..
我正在学习如何从其他机器呼叫远程角色.为了模拟两台不同的计算机,我有一台主机,另一台是虚拟机(VM).网络适配器设置为NAT,因为使用此设置,我能够从VM ping主机(我读到它应该设置为Bridge,但ping命令超时). Host IP: 172.16.104.242 VM IP: 10.0.2.15 此外,这是主机上RemoteActor.fsx的代码 #r "nuget
..
是否可以在Akka.Net actor计算中等待(无阻塞)异步?我想实现与以下类似的功能. actor { let! msg = mailbox.Receive() match msg with | Foo -> let! x = async.Return "testing 123" // Some async function, return just an examp
..
我目前正在尝试使用akka.net,但它们使用HOCON的配置与配置时通常在app.json中通常使用的json语法不同. 我们的应用程序. 有人知道如何在当前的app.json配置中使用HOCON吗? 解决方案 我使用ConfigurationFactory.FromObject和一些具有我感兴趣的属性的类,以从appsettings中读取akka-config. var conf
..
有一个带有TestActor的简单主机,它只将接收到的字符串写到控制台: using (var actorSystem = ActorSystem.Create("host", HoconLoader.FromFile("config.hocon"))) { var testActor = actorSystem.ActorOf(Props.Create(),
..
Petabridge博客的Akka.Persistence简介清楚地表明您不能有多个具有相同PersistenceId的角色: PersistenceId字段很重要-它唯一地标识使用Akka.Persistence保持其状态的实体,并且在任何给定时间对于单个PersistenceId都应该只有一个持久性参与者. [...]因此,请设想一下,如果您有两个具有相同PersistenceId
..
我正在努力保持持久性,但仍无法恢复演员. 我的意图是通过其persistenceId获取Actor(以同样的方式,我们在DDD中使用GetById获得Entity). 我可以获取对List的引用并将其添加到List Manager中的变量中,但我要寻找的是Actor死后如何获取具有当前状态的Actor(按事件恢复),以便可以进行修改完成. 让我知道我的问题是否不清楚 这是我
..
经过最近的调查和栈溢出问题我意识到,与分片一致性哈希路由器相比,分片是更好的选择.但是我无法使2进程集群正常运行. 一个过程是种子,另一个过程是客户.种子节点似乎不断抛出死信消息(请参阅此问题的结尾). 此种子HOCON如下: akka { loglevel = "INFO" actor { provider = "Akka.Cl
..
在我的Akka.Net群集中,我有几个节点.成功加入集群后,我想发起一些通信.我在日志中看到我很欢迎加入集群: Welcome from [akka.tcp://Animatroller@hakan-el:8899] 但是我看不到我可以订阅的任何事件. 解决方案 通常,在这种情况下,您希望订阅ClusterEvent.MemberUp,一旦新节点成为集群的一部分,当前参与者将获得
..
我正在使用Akka.NET的群集(1.0.5)功能来实现一项服务,该服务由一个主节点组成,该主节点通过HTTP接收请求,并将工作结果分发给已加入群集的工作节点. 该想法是为了能够轻松完成以下任务: 在需求高(检查)时将工作节点添加到集群中 能够重新启动主节点或使其脱机(维护/故障/其他),并让工作人员在可用时重新连接(检查) 升级/重启行为异常的工作程序,并使其重新连接到主
..