当前位置: 首页 > 科技观察

DubboAPI包什么时候需要升级版本号?

时间:2023-03-14 00:14:30 科技观察

本文转载自微信公众号《Java时光屋》,作者JackJia。转载本文请联系爪哇时光之家公众号。1.接口中方法的参数改变了:2.接口中增加了新的方法:3.服务中增加了新的接口:前言虽然现在SpringCloud在市场上流行,但是也有大量使用dubbo的公司。之前在使用SpringCloud的同时,我们也借鉴了dubbo的api的架构,直接在接口的实例中注入@FeignClient("classServer")来完成微服务之间的调用。架构如下:借鉴了dubbo的api,在controller层抽象了一层接口。我同时使用过SpringCloud和Dubbo。两者各有优缺点,不是本文的重点。本文主要讨论我们在使用dubbo的时候什么时候升级版本号。1.接口中方法的参数变化:当方法中的参数发生变化时:比如旧代码:f(inta)->(inta,intb)如果是这样的变换,无论是消费者代码还是服务器代码服务需要重新部署,版本号升级影响不大。2、在接口中增加一个新的方法:例如:PublicinterfaceA{Integerfa(intb);}升级为:PublicinterfaceA{Integerfa(intb);Stringfc(Stringd);这时候应该升级版本,1.0.0->1.0.1,这里这种版本升级是为了避免非本地环境中其他环境服务重启引用同一个包而没有实现新方法的情况,导致构建失败。3、为服务添加新接口:例子:PublicinterfaceA{Integerfa(intb);}添加:PublicinterfaceA{Integerfa(intb);}PublicinterfaceB{Integerfc(intd);}这种服务添加新的接口文件,不管版本升级不会导致构建失败的冲突。总结版本升级虽然是小事,但稍不注意,就会引起项目大问题,导致服务无法启动。如果大家有不同的想法,欢迎关注我的公众号:JavaTime宅随时交流。