Dubbo的API包什么时候需要升级版本号?
2023-03-07 09:48:35 时间
本文转载自微信公众号「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时间屋 随时交流。
相关文章
- OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题
- OpenCV这么简单为啥不学——1.6、图像旋转与翻转(rotate函数、imutils环境安装、imutils任意角度旋转)
- OpenCV这么简单为啥不学——1.7、实现OpenCV自带的七种形态学转换操作
- OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图
- OpenCV这么简单为啥不学——1.9、cvtColor颜色空间转换(全色值效果演示)
- OpenCV这么简单为啥不学——1.10、addWeighted设置图片透明度
- OpenCV这么简单为啥不学——1.11、蓝背景证件照替换白色或红色
- OpenCV这么简单为啥不学——2、逐帧播放视频(VideoCapture函数、waitKey函数、0xFF == ord(‘1‘))
- 贾跃亭的「大棋」
- 推倒元宇宙的高墙
- 绝地重生,金融科技拉开新战幕
- 造车,只不过是一场互联网的复刻
- 东方甄选,并非「真选」
- ChatGPT使用注册教程和插件,无需注册在线体验chatgpt方式
- 元宇宙,逃离「元宇宙」
- 互联网嬗变,催生金融科技新变革
- 产业互联网,互联网的再出发
- 大型集团企业数据治理实践,推进全域数据资产体系建设 | 数字化标杆
- C/C++ CreateFileMapping 共享内存
- C/C++ 简单特征码匹配