前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kyro序列化踩坑记——提供方DTO新增字段,依赖方则报错

kyro序列化踩坑记——提供方DTO新增字段,依赖方则报错

作者头像
MickyInvQ
发布2020-09-27 10:56:20
1.1K0
发布2020-09-27 10:56:20
举报
文章被收录于专栏:InvQ的专栏InvQ的专栏
背景

A服务通过dubbo调用B服务,序列化方式选择的是kryo,A服务和B服务同时依赖C工程的一个DTO。 C工程的DTO新增了一个字段,deploy了,B服务引了最新的依赖。但是A服务并没有。 此字段,A服务并使用不上,也不关心。 此时,A服务调用B服务,则会出现如下序列化报错

在这里插入图片描述
在这里插入图片描述
排查

这个mDTO就是有变化的

解决方案一

通过让C的DTO使用release包,打包,不使用snapshot版本,这样,我们改变频率慢,而且很主动。 不然,每次deploy我们发布线上都会很头痛。

解决方案二

更改B服务和A服务之间的dubbo version,然后发布线上时候,先发一半的B服务,然后把A服务的发完,然后再把B服务发完。 这样做的好处是,可以让线上的A服务兼容发布,否则就会报一堆序列化错误。

解决方案三

切换序列化方式为protobuf

最终,第一个方案pass掉,属于治标不治本,属于规范层面问题。 第二个方案,可以维持一小段时间。 第三个方案,关联方比较多,耗时,但是利好千秋万代。

实际行动:临时先做第二个方案,长期推动第三个方案。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 排查
  • 解决方案一
  • 解决方案二
  • 解决方案三
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档