gpt4 book ai didi

akka - FSM vs在Akka变得/变得不受欢迎

转载 作者:行者123 更新时间:2023-12-03 12:08:37 28 4
gpt4 key购买 nike

Akka提供了两种重叠的方式来管理角色状态Finite State Machinesunbecome/become。他们各自的好处/缺点是什么?什么时候应该选择其中一个?

最佳答案

FSM是DSL,它使您可以构建比使用核心actor API更为复杂,可读性强的状态机。您可以潜在地向业务人员显示FSM代码,他们可以验证业务规则。
FSM DSL使您可以更清晰地将内容组合在一起。例如,transitions允许您排除必须在actor become行为之间重复的逻辑。您也可以订阅其他参与者,以得到有关转换的通知,这有助于进行去耦和测试。

计时器也很好地集成到了DSL中,诸如取消之类的事情也得到了很好的处理。使用调度程序编码超时消息有很多陷阱。
FSM的缺点是它是DSL和其他团队成员可以消化的新语法。好的方面是,它是DSL和更高级别的抽象。我认为agilesteel的2种状态阈值是一个很好的阈值。但是一旦您超过了2种状态,FSM的好处就非常引人注目。

一定要阅读the FSM docsaccompanying examplesbecomeFSM对比。

一个注意事项是:使用unbecome“ pop ”行为-默认行为是不使用行为堆栈。它仅在少数用例中才有意义(即通常与状态机无关)。

关于akka - FSM vs在Akka变得/变得不受欢迎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17110045/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com