大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述APP 多版本发布之dubbox服务端配置相关的知识,希望能为你提供帮助。
场景:近期小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="customerVApi" version="1.1" group="group-customer" protocol="customerRest" timeout="60000" />
实现相同的接口,只是接口对应的版本不一样从1.0到1.1,按照需求对1.1版本的接口进行实现,这样发布时,新老接口就会并存,如果需要强制更新审核通过之后会将老版本(1.0版本代码去掉)停掉运行新版本,如果不需强制更新,那么就可以新老版本并存
【APP 多版本发布之dubbox服务端配置】客户端调用,小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个具有新表结构和对象的测试数据库(预发布环境)。
对于改动较大的,产品新增了重量级新功能的,业务层面或者底层表结构上都不兼容的,建议是要做强制升级的。
推荐阅读
- APP测试-drozer安装和使用
- 《Android Studio有用指南》4.27 使用演示模式
- 安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can't find resource for bundle java.util.PropertyResourceBu
- 安卓工作室 android studio文件和代码模板,以及汉化出错问题
- Android开发中EditText的点击Enter键焦点改变处理(获取焦点和失去焦点交互变化)
- 安卓工作室Android Studio 快捷键
- Ant打包Android代码生成apk文件
- LeetCode - 448. Find All Numbers Disappeared in an Array
- Android Studio配置及使用OpenCV