scala – 如何在生产中发展akka-persistence事件?

前端之家收集整理的这篇文章主要介绍了scala – 如何在生产中发展akka-persistence事件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我们使用akka-persistence设计我们的系统.现在,我们将事件存储在事件存储中.而在生产系统中,要求提供新功能.因此,我们发现最好的方法是在事件中添加修改字段.让我们说改变字段名称或类型.

现在,我们有两个版本的事件,即我们在生产中的版本,以及新部署中的一个版本,它们是不兼容的.如果我们尝试从旧版本恢复数据,我们将失败.

除了数据迁移之外,最好的方法是什么?

解决方法

这绝对是在生产中使用akka持久性的一个更大问题.在 akka-user mailing list上有很多关于此的讨论.

我想说,只要新功能只需要额外的信息,使用允许有限的模式演变的序列化格式,如谷歌协议缓冲区或json将是一个解决方案.

如果新功能需要更改现有数据,则除了执行数据迁移之外,您无法做任何事情.

猜你在找的Scala相关文章