场景:近期小L发布app的时候遇到个头疼的事情,由于苹果app store需要审核原因,项目需要部署最新版本,但又不能影响来版本的正常使用;
分析问题:如果是app业务相关的程序bug、或者是预发布版本
解决方案:配置dubbo多版本
<dubbo:protocol id="customerRest" name="rest" port="xxxxx" />
<!-- ref:要注入的Service实现 -->
<dubbo:service interface="com.jlj.erp.app.dubbo.service.customer.CustomerApi"
ref="customerApi" version="1.0" group="group-customer"
protocol="customerRest" timeout="60000" />
<!-- ref:要注入的Service实现 -->
<dubbo:service interface="com.jlj.erp.app.dubbo.service.customer.CustomerApi"
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:8

本文介绍了在Java Dubbox框架下如何处理APP多版本发布的问题。通过为不同版本接口设置不同路径,使得新老接口并存,允许在不强制更新的情况下平滑过渡。当数据结构变化较大或新增重量级功能时,建议采取强制升级策略。
最低0.47元/天 解锁文章
741

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



