Akka 如何处理消息版本?

Posted

技术标签:

【中文标题】Akka 如何处理消息版本?【英文标题】:How does Akka handle message versions? 【发布时间】:2013-01-17 15:25:33 【问题描述】:

Akka如何处理同类型消息的不同版本的序列化,但版本不同?例如,期望消息 A 的版本 1 的 Actor X 是否可以从具有额外字段的 Actor Y 接收和处理消息 A 的版本 2?它如何处理消息 A 的版本 3 可能已删除或重命名字段的情况?

【问题讨论】:

【参考方案1】:

这取决于使用的序列化程序。 Akka 具有可配置的序列化,因此您有很多选择(请参阅文档:http://doc.akka.io/docs/akka/2.1.0/scala/serialization.html)。

一般来说,建议使用可让您进行向后和向前兼容性设计的序列化程序,例如 Protobuf。

【讨论】:

感谢您的回答。我不知道 Akka 支持不同的序列化选项,包括 Google Protocol Buffers。 Akka 有 pluggable 序列化,所以你可以用你能想象到的任何方式来处理它:-)

以上是关于Akka 如何处理消息版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 maven 版本:使用精确版本设置

如何处理同一站点的两个版本

如何处理保存和加载文件的不同版本?

yarn 工作空间如何处理不同版本的外部依赖?

从PHP版本7.2.0开始,“数组解除引用”如何处理类型为boolean / integer / float / string的标量值?

如何处理 Android 应用程序中的版本更改