【发布时间】:2019-05-25 20:51:00
【问题描述】:
我曾经在 akka 框架的帮助下用 java 编写了一个多人游戏。通过他们的“至少一次”传递,我一直想知道如果所有 akka 演员都在同一个本地 jvm 中运行,那么在哪种情况下消息会丢失。
游戏的设计就像一个巨大的状态机(因为事件需要按顺序处理),所以大多数时候只有一条消息在所有相关参与者之间传递。 (可以并行运行多个会话)
我已经读到,在本地运行时,actor 的通信是在内存中完成的。所以不考虑内存不足错误,他们的其他(最好是可重复的)场景是消息实际丢失的地方吗?
注意: 消息框操作也不是我想要的。只是出现问题并且消息确实丢失的合法案例。
【问题讨论】: