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版本代码去掉)停掉运行新版本,如果不需强制更新,那么就可以新老版本并存

客户端调用,小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个具有新表结构和对象的测试数据库(预发布环境)。

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

时间: 2024-10-10 18:01:14

APP 多版本发布之dubbox服务端配置的相关文章

搭建nfs共享存储服务之二nfs服务端配置语法及配置实战详解

1.1.NFS服务端配置文件路径为: /etc/exports,并且默认为空,需要用户自行配置. /etc/exports文件配置格式为: NFS共享的目录 NFS客户端地址1(参数1,参数2...)客户端地址2(参数1,参数2) 1.NFS共享的目录:为NFS服务端要共享的实际目录,要用绝对路径,如(/data),注意共享目录的本地权限,如果需要读写共享,一点要让本地目录可以被NFS客户端的用户(nfsnobody)读写. 2.NFS客户端地址:为NFS服务端授权的可访共享目录的NFS客户端地

【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS

/** * @see CAS服务端配置HTTPS * @see ------------------------------------------------------------------------------------------------------------------------ * @see 1.生成KeyStore * @see 1.1.D:\>keytool -genkey -alias XuanyuKeyStore -keyalg RSA -validity 10

iOS xmpp协议实现聊天之openfire的服务端配置(一)

今天弄这个openfire服务端的配置直接苦了一逼,不过好在最后终于配置好了.首先感谢@月光的尽头的博客给了我莫大的帮助.切入正题,首先说一下iOS xmpp协议实现聊天openfire服务器配置所需要的东西: 1.openfire软件,我用的是 Openfire 3.9.3,下载地址:http://www.igniterealtime.org/downloads/index.jsp 2.MySql数据库,我用的是mysql-5.1.63,下载地址:http://dev.mysql.com/do

iOS xmpp协议实现聊天之openfire的服务端配置(二)

本篇主要说一下如何利用命令行来正确配置MySql. 首先打开终端: 1.为mysql起一个别名 alias mysql=/usr/local/mysql/bin/mysql 2.创建mysql的管理员  admin(后期登陆用到) alias mysqladmin=/usr/local/mysql/bin/mysqladmin 3.设置root账号密码 mysqladmin -u root password 初始密码 4.连接数据库 mysql -u root -p  (提示输入刚才的密码) 5

三、记一次失败的 CAS 搭建 之 服务端配置

========================================================================================================= Setp3:Tomcat与cas服务端进行绑定操作::参考:http://www.open-open.com/lib/view/open1392018954614.html =========================================================

hive 的hiveserver2 服务端配置

hive 的服务端配置 hive 的客户端连接 一:hive的服务器端配置 cd /home/hadoop/yangyang/hive/conf vim hive-site.xml <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thri

微信app支付android客户端以及.net服务端实现

由于公司运营需要,需要在客户端(android/ios)增加微信以及支付宝支付,在调用微信app支付时遇到一些问题,也算是一些踩过的坑,记录下来 ,希望能对.net开发者服务端网站更快的集成微信app支付. 1.开发所需资料:微信开放平台应用的appid以及appsecert,商户平台的商户号以及api安全里面里面设置的key,详见 微信支付账户相关信息; 2.微信开发者平台完善应用平台的相关信息,android应用签名必须用打包签名过的发布版本apk(这一步很重用),包名必须一致,可以用微信提

CentOS 7.0版本下安装SVN服务端示例

一.安装部署环境 VMBox虚拟机.CentOS 7系统.4G内存.20Gb存储空间 二.基础环境建立 1.安装VMBox虚拟机: 2.启动VMBox虚拟机,安装CentOS系统[安装过程略,注意root密码]. 3.启动CentOS系统,并登录root账号. 三.CentOS配置工程 配置CentOS网络,虚拟机CentOS可以访问外网.该步骤必须先配置DNS,否则联网更新.下载操作将会报错. 查询网络配置文件所在位置及名称:cd /etc/sysconfig/network-scripts/

SVN版本服务器搭建(服务端+客户端)

环境:Win7 32 bit SVN简介:程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作. VisualSVNServer集成了Subversion和Apa