dubbo项目部署服务器,APP 多版本发布之dubbox服务端配置

场景:近期小L发布app的时候遇到个头疼的事情,由于苹果app store需要审核原因,项目需要部署最新版本,但又不能影响来版本的正常使用;

分析问题:如果是app业务相关的程序bug、或者是预发布版本

解决方案:配置dubbo多版本

ref="customerApi" version="1.0" group="group-customer"

protocol="customerRest"  timeout="60000" />

ref="customerVApi2" version="1.1" group="group-customer"

protocol="customerRest" timeout="60000" />

实现相同的接口,只是接口对应的版本不一样从1.0到1.1,按照需求对1.1版本的接口进行实现,这样发布时,新老接口就会并存,如果需要强制更新审核通过之后会将老版本(1.0版本代码去掉)停掉运行新版本,如果不需强制更新,那么就可以新老版本并存

客户端调用,小L用的是dubbox 所以不同的版本配置不同的路径即可http://127.0.0.1:80/a//xxx/v1(老)

@GET

@Path("/xxx/v1")

public ApiResult xxx(@QueryParam("code") String resourceCode)

http://127.0.0.1:80/a//xxx/v2(新)

@GET

@Path("/xxx/v2")

public ApiResult xxx(@QueryParam("code") String resourceCode)

如果是数据结构发生变化的话小L不建议使用该方式

这样的情况需要具体问题具体定解决方案,可以分开部署,可以做预发布环境,部署1个具有新表结构和对象的测试数据库(预发布环境)。

对于改动较大的,产品新增了重量级新功能的,业务层面或者底层表结构上都不兼容的,建议是要做强制升级的。

06327f64a8bc6cfd824a5e23e5bade1f.png

注:接口的实现方法 按照接口版本定;接口新加的方法写在V1版本中,如果V1版本中的某个方法参数条件变化了,那么把新的实现写在V2版本里面,V1版本的实现保留

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值