Dag*_*Dag 7 simulation bigdata akka
我是akka和演员模式的新手,因此我不确定它是否符合我的需求.
我想用akka和数以百万计的实体(想象为域对象 - 后来的演员)创建一个可以相互影响的模拟.因此,我们认为模拟具有或多或少的"模糊"结果,我们有一个带有实体的数组,其中每个实体都有一个速度,但却被实际实体前面的实体所阻挠.当模拟开始时,每个实体应该移动n个字段,或者如果被其他实体阻止,则移动更少的字段.我们有多次迭代,最后我们有了一个新的订单.在一些轮次中重复这一过程,直到我们想要看到前导实体的"快照"(然后可能在下一轮开始之前将其删除).
所以我不明白我是否可以用akka创建它,因为:
是否有可能拥有每个演员位置的全局列表,因此他们知道他们在哪个位置以及哪个位于他们面前?据我了解,这违反了演员的封装.我可以把演员的位置放在演员本身,但是我怎样才能看到/通知演员周围的演员?除此之外,全局列表将产生同步问题并影响性能,这与期望的行为完全相反(并且与akka/actor模式互补)
我错过了什么?我是否必须寻找其他设计方法?谢谢你的建议.
更新:使用eventbus和分类器似乎也不是一个选择.参考文档:
"因此它不适合使用订阅频率变化非常高的情况"