想必很多刚接触的dubbo项目的同学都遇到过这样一个问题:自己的dubbo项目中底层部署了多个相同dubbo-provider,上层也部署了多个相同的dubbo-consumer。这样可以提升系统的负载能力和并发性。
但是有一天,项目经理说我们的用户需要添加一个昵称功能,但是原来的用户实体类里面并没有nickname字段,所以需要往User实体类里面添加一个新字段。这个功能开发也不是很简单,但是在你部署上线的时候,依次替换dubbo-provider服务的时候却发现后台报了很多错误,返回实体类序列化错误。。
要解决这个问题,需要用到你一个参数version:
1、provider端需要给服务的接口实现类

2、consumer端也需要加上version

当你上线的时候,只需要同时修改provider,consumer端的版本号,这样在部署的时候,就会有两个不同的版本同一时刻在提供服务,这样服务不会出现大量报错的情况
本文介绍了在使用Dubbo框架进行微服务开发时,如何通过版本控制来避免因实体类变更导致的服务序列化错误问题。通过在Provider和Consumer两端分别设置版本号,在升级过程中确保服务的平滑过渡。
828

被折叠的 条评论
为什么被折叠?



