当前位置:首页 > 人工智能

Dubbo的API包什么时候需要升级版本号?

本文转载自微信公众号「Java时间屋」,包版本作者Jack佳 。什时升级转载本文请联系Java时间屋公众号。候需号 1.接口里面方法的包版本参数发生变化: 2.接口里面增加新的方法: 3.服务增加新的接口:

前言

尽管现在SpringCloud现在盛行市场,但是什时升级使用的dubbo的公司也大量存在,之前我使用SpringCloud的候需号时候也借鉴了dubbo的api的架构,直接@FeignClient("classServer")注入接口的包版本实例,完成微服务之间的什时升级调用。架构如下:

就是候需号借鉴了dubbo的api在controller层抽象出来一层接口。我算是亿华云计算包版本同时使用过SpringCloud和Dubbo,二者确实都有优缺点,什时升级不是候需号这篇文章讨论的重点,这篇文章主要讨论下我们使用dubbo的包版本时候什么时候升级版本号。

1.接口里面方法的什时升级参数发生变化:

当方法里面的参数发生变化:比如旧的代码:

f(int a)->(int a,int b) 

如果是这种的改造的话,消费者代码和服务者代码都的候需号改变,服务需要重新部署,版本号升不升级已经作用不大。

2.接口里面增加新的方法:

举例:

Public interface A{     Integer  f a(int b); } 升级为: Public interface A{    Integer  f a(int b);   String  f c (String d); 

此时应该版本升级,1.0.0->1.0.1,此种版本升级是服务器租用为了避免非本地环境的其他环境服务重启引用同一个包而没有实现新方法导致构建失败的情况发生。

3.服务增加新的接口:

举例子:

Public interface A{     Integer  f a(int b); } 增加: Public interface A{     Integer  f a(int b); } Public interface B{     Integer  f c(int d); } 

此种服务中增加新的接口文件,无论版本是否升级不会造成冲突无法构建的情况发生。

总结

虽然说版本升级是一件小事情,但是如果不注意的话还会产生很大的项目问题,导致服务无法启动的情况发生,如果你有不同的想法,欢迎关注我的公众号:Java时间屋 随时交流。

香港云服务器

分享到:

滇ICP备2023006006号-16