![]() |
1
1
虽然OP中对状态和转换的描述相当模糊,但所选实现的状态、其含义和替代方案的含义可以得到解决。 手头的实现可以算作“每个请求的参与者”方法,而不是更常见的状态机参与者缓冲和处理多个请求的方法。下文将进一步介绍。 在目前的形式中,给定的实现是唯一的 每个请求的抽象FSM 我知道,实际上还有另一个FSM下游,它不能再被称为“每个请求”,很可能可以避免。大致如下:
“每个请求的参与者”最初似乎出现在 this discussion ,这给了 this blog 一段时间后,甚至偶尔声称 a pattern . 部分原因似乎是复制了 Spray framework ,类似于Akka http的前身。 关于这个问题的另一次讨论结束了 inconclusive result 在问题上是否喜欢一个单一的演员,而不是一个要求,并提出 routing 作为第三种选择,因为路由器也充当负载平衡器,所以触摸 back-pressure 主题。
这种方法经常与
对于“请求”部分,这里的数据库写入不再由状态表示,而是由状态进入和退出操作表示。请注意,所有
不必过多地权衡(模糊的)需求和所选择的实现,
一种更轻量级的方法来构建FSM
become/unbecome
,一个很好的演示是
here
,安
进入了比较滑的地带,判断使用抽象有限状态机在had执行任务。我认为,有些事情可以说,鉴于阅读的要求是大致可以的。 这些状态形成一个线性链,因此这两个“每个请求的抽象FSM”可以被其他每个请求结构所取代:
考虑到这一点,这些版本的吸引力可能会增加:由于给定的实现在每个请求中使用(至少)一个FSM,因此问题就出现了,如何进行转换
|
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 8 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |