actor相关内容

在 Akka.net 中记录所有命令和响应的最佳方式是什么?

记录来自 Akka.net 集群的所有命令和响应的最佳方式是什么?日志记录将由记录器参与者的层次结构处理,但是这些记录器将如何接收或拦截各种命令和响应?我曾尝试使用事件总线订阅特定命令,但这似乎并不像我想象的那样工作,因为没有拦截任何命令. 解决方案 在 Akka.NET 中,每个参与者都有自己的消息队列,用于对传入的请求进行排序.有几种方法可以做到这一点: 最简单的方法是创建自己的 ..
发布时间:2021-10-26 16:35:43 C#/.NET

带有 Actor 的设计模式

基于演员的范式非常酷.它的有效扩展能力使其成为必须评估任何并发系统的范例.我已经阅读了一些关于它的内容,并且对核心意图有一个不错的想法:用消息和多个“参与者"驱动昂贵的操作,以最大限度地减少由于请求/响应交互而导致的等待,从而增加系统的吞吐量.但是,我还没有充分了解人们与演员一起使用的设计模式.我正在寻找基于角色的系统的设计模式. actor 设计模式的一个常见示例是一个系统,其中有一个主协 ..

Actor 设计模式和现实世界的例子

我目前正在学习 Actor 设计模式或模型,看起来很有趣.但是,我正在努力寻找有关如何或在何处应用此模型的任何体面的现实示例(除了具有余额的简单银行帐户或游戏的敌人坐标等的基本示例). 作为我研究的一部分,我遇到了一个示例电子商务微服务应用程序 (eShopOnDapr),其中 Order 是一个 Actor.这是可以使用 Actor 模型的真实示例吗? 这种设计模式是否可以或应该与微 ..
发布时间:2021-10-26 16:35:35 其他开发

我的 Akka 演员的属性是否应该标记为 @volatile?

这个问题看起来类似于是否应该标记我的 Scala 演员的属性@volatile? 但不确定答案是否相同. 例如,如果配置了 fork-join 调度程序并且参与者的状态没有被 @volatile 标记,是否可以保证参与者的状态将通过缓存层次结构从一个内核(或处理器)传播到另一个如果 fork/join 工作线程在不同的内核(或处理器)上运行? 附言在 JSR133 之后,仅对任何易失性 ..
发布时间:2021-09-20 18:37:58 其他开发

Akka onReceive 方法是否并发执行?

这是我的场景: 我有一个主actor,它接收来自多个子actor的消息.这些消息包含要聚合的数据.在这个聚合逻辑中,如果我使用共享数据结构来收集聚合,我是否需要处理同步问题? else if(arg0 instanceof ReducedMsg){ReducedMsg 减少 = (ReducedMsg)arg0;counter.decrementAndGet();同步(最终结果){fina ..
发布时间:2021-09-03 20:18:15 其他开发

MailboxProcessor只是复制IObservable吗?

我想处理消息的类型 添加x 使程序记住数字x 打印使其打印所有已记住的数字 我为什么要这样写: 开放系统输入Message =|int的加法|打印让邮箱=新MailboxProcessor(有趣的收件箱->让rec循环历史记录=异步{让!msg = inbox.Receive()与匹配的味精|添加x->返回!循环(历史记录+ x.ToString()+“")|打印->p ..
发布时间:2021-05-06 20:00:30 其他开发

TPL数据流和Akka.net有什么区别?

我曾经使用过TPL数据流.真的很喜欢.我从Java/scala朋友那里多次听到过Akka一词,因此我尝试阅读它,并发现akka也具有.net端口.伟大的.当我继续阅读什么是akka时,我惊讶地发现它听起来完全像TPL数据流. 因此,我的问题是,TPL数据流和Akka.net有什么区别? 何时选择什么? 解决方案 Akka是基于参与者的模型,TPL Dataflow也是如此.由于 ..
发布时间:2020-08-19 23:47:03 C#/.NET

Akka同步来自多个参与者的带有时间戳的消息

想象一下以下架构。在akka中有一个演员通过websocket接收推送消息。它们具有时间戳,并且这些时间戳之间的间隔为1分钟。尽管具有相同时间戳的消息可以通过websocket多次到达。然后将此消息广播给其他三个演员(ma)作为示例。他们计算指标,并将消息进一步发送给一个参与者(c)。 对于 ma 我定义了一个TimeSeriesBuffer,它仅在实体具有相应时间戳的情况下才允许写入缓冲区 ..
发布时间:2020-06-01 20:08:12 其他开发

隐式记录演员在Scala中收到的消息

我对这种奇特的语言Scala是陌生的,我正在尝试创建一个用于记录Scala actor的库。我的图书馆有一个Logger类,它扩展了Actor类。 因此,任何使用actor模型的Scala应用程序都可以从此类扩展,也可以从Actor类扩展以添加日志功能。 例如MyClass类扩展了Logger。 在我的Logger类中,我实现了以下逻辑:每当有人将消息发送给某个actor时,该消息就会被发送 ..
发布时间:2020-06-01 20:08:08 其他开发

使用Akka Actor遍历目录树

我是演员模型的新手,正试图写一个简单的例子。我想使用Scala和Akka遍历目录树。该程序应该找到所有文件,并对每个文件执行任意(但快速)操作。 我想检查如何使用actor为递归建模? 遍历完成后,如何优雅地停止actor系统? 如何控制角色数量以防止内存不足? 有没有办法阻止演员的邮箱变得太大? 如果文件操作需要很长的时间才能执行? 任何帮助将不胜感激! 解决方案 ..
发布时间:2020-06-01 20:08:03 其他开发

如何定期检查actor邮箱并更改Scala中的变量

我在Scala中使用akka演员。我想知道是否有一种方法可以让一个参与者,在处理收到的消息时可以定期检查其邮箱中是否有其他消息,而跟随此消息可以更改其变量。 类似这样的方案: Class Actor1(构造函数){ def receive = { case“ go” => run()//演员开始 的情况下“ alter variables” // //在邮箱 中隐藏了一条新消 ..
发布时间:2020-06-01 20:07:59 其他开发

引用两个演员

我正在制作一个2人小游戏,可以与演员通过网络进行互动。每个客户端都会向服务器发送一条消息,要求加入该服务器,此时我想保留对发件人的引用,但是当第二个玩家加入时,它将覆盖我对第一个发件人的引用: 案例类JoinMsg 类服务器(端口:Int)扩展Actor { var client1:OutputChannel [Any] = null var client2:OutputChan ..
发布时间:2020-06-01 20:07:55 其他开发

参与序列制作过程的Akka演员饥饿

Bisuness逻辑 我们要完成以下业务逻辑: 一百万次: 下载索引为i的文件 解压缩文件 从文件中提取一些信息 删除文件 当前的Akka解决方案 我们目前拥有的Akka解决方案会创建100万演员,负责一个文件的下载,一次完成后,他们创建了一个演员来执行第2、3、4步。 问题 运行该过程后,我们遇到了Akka将下载actor放在首位的情况,而其他ac ..
发布时间:2020-06-01 20:07:52 Java开发

如何在单例ActorSystem中管理Actor关闭

我的应用程序中有一个singleton actor系统,除了在同一个JVM中加载和卸载相同的应用程序进行测试时,我会遇到一个错误,因为我在启动过程中尝试重新创建,因此它工作正常。 结果是我得到了 akka.actor.InvalidActorNameException ,因为Actor名称是不是唯一的。 我正在寻找一种方法,可以根据角色系统平稳地关闭角色,而不关闭角色系统本身。 ..
发布时间:2020-06-01 20:07:48 其他开发

Akka PoisonPill是否会杀死其子女的后代?

我正在使用毒丸杀死演员(A)的儿童演员(Bx)。每个孩子都有另一个孩子(Cx)及以后。因此,它希望 A-> B1→ C1,C2,C3→ Dx 。如果我仅将PoisonPill发送给演员B就足够了,那么它将杀死下面的后代演员? Thanksa 解决方案 是的,一旦演员收到 PoisonPill 消息,它将不再接收消息并将停止发送给子演员。 从演员生命周期中可以明显看出,父演员会在 ..
发布时间:2020-06-01 20:07:46 其他开发

用道具初始化演员

我有以下FSM 公共类ActorOnFsm { 公共静态枚举State { FirstState , SecondState, ThirdState, FourthState } public static final class ServiceData { } 公共类ActorFSM扩展了AbstractFSM { ..
发布时间:2020-06-01 20:07:41 Java开发

简单的Akka邮箱配置可丢弃溢出的邮件

我有一个包含2个参与者的系统,它们共享相同的配置。所需的配置是:“邮箱的最大容量为1条消息,任何溢出的消息都应丢弃”。 最简单的设置方法是什么? 我尝试将以下内容放入(Play框架的) application.conf : akka.actor.default-mailbox { 邮箱类型=“ akka.dispatch.BoundedMailbox” 邮箱容量= 1 } ..
发布时间:2020-06-01 20:07:33 其他开发

Akka:等待多条消息

您好akka大师:)您能指导我吗? 我想做的-演员A向演员B询问信息,然后等着回来。但是,演员B以某种方式不给A一条消息,而是给其中4条消息。 Actor A Future 已正确完成,但是其余3条消息被视为无效字母。为什么?这是正确的吗?我的意思是,演员A有一个适当的处理程序,那为什么字母没了呢? :-( [INFO] [11/22/2013 22:00:38.975] [ForkJ ..
发布时间:2020-06-01 20:07:29 其他开发

Akka是否会将MDC从来源演员复制到其他演员和期货?

正如我在akka规范中阅读的那样,它支持mdc 在演员中。例如。我可以将unic信息放入mdc,然后在actor中使用它。但是未来呢? Akka是否提供任何担保,以保证在actor中启动的未来将具有相同的MDC?另外,发送给其他参与者的消息也是如此-默认情况下会复制MDC吗? 注意 对我来说,这很奇怪,我只能在一个参与者代码中使用MDC。 解决方案 他们实际上没有。当您调用Lo ..
发布时间:2020-06-01 20:07:25 其他开发