And*_*rea 4 persistence scala fault-tolerance akka
我是Akka的初学者,我喜欢它为异步编程提供的许多功能,例如Actors,Agents或Futures.
Akka的一个强烈卖点是,当一个演员崩溃时,一个等同的演员由演员系统重新创建并插入旧演员系统,保证强大的稳定性.
其他一些系统(我被告知JMS是其中一个)更进一步,持续不断地在演员之间发送消息.这样,如果机器在物理上崩溃 - 比如由于硬件故障 - 仍然可以恢复故障之前的状态.
这对我正在开发的应用程序非常有吸引力.Akka是否提供任何此类机制?如果没有,是否有某种方法可以将其与外部系统集成,从而实现这一目标?
小智 5
持久邮箱是有选择地保存消息的好方法,因此Akka可以实现类似JMS的类似功能.除了技术之外,在架构级别考虑哪些消息与系统相关以及在系统发生故障后如何恢复状态非常重要.
与演员范式一起很好地发挥作用的一种方式是事件采购.在此概念中,应用程序的状态存储为一系列事件而不是状态本身.当系统或其中一部分失败时,可以通过应用来自持久性事件存储的所有事件来恢复状态.持久邮箱可以是指向此类事件存储的链接,也可以直接使用专用actor.
Martin Krasser 在这篇博客上有一篇非常好的文章,用Akka描述了这种方法.他还是Akka事件采购扩展的作者,名为eventsourced.
| 归档时间: |
|
| 查看次数: |
2562 次 |
| 最近记录: |