重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你是否听说过在一个Tomcat中部署两个应用,使用相同的请求路径?
你是否了解,对于Tomcat中的应用,可以部署同时部署多个版本?
其实,在Tomcat的Context组件中,包含一项名叫Parallel Deployment的功能,就支持我们上面提到的这几点。
也许,你会问,我为什么要部署两个同名的应用呢?
试想下面一种场景:
你的应用已经部署到线上,正在源源不断的接收到用户的请求,你忽然发现有一个功能需要马上修改一下、升级一下,甚至说你的产品发了新版本。此时为了上线新功能、新版本,你采用什么方式实现,又不影响用户使用呢?
不少同学会想到集群部署的应用,可以先把一部分的实例停止,部署后再启动起来再部署另外一部分。
那对于单实例的应用,该怎么办呢?
憋着急,我们有Tomcat的Parallel Deployment特性,可以同时部署应用的多个版本,而且请求的path保持一致。这真是个好消息。对于部署新版本之后到达的请求,默认会使用新版本来处理,对于旧的请求,由于session中已经包含请求数据,所以会继续处理,直到完成。
下图是manager应用是显示的当前虚拟主机中部署的多个版本的应用。
那对于要以多版本部署的应用,应该如何配置呢?
对于应用的版本部署那是相~当~简单,只需要新版本应用的应用名称后加两个#,再加上版本号即可。例如
foo##1.0.war
在部署时,1.0被做为应用的版本号使用。
或者应用以目录形式部署时也以这种格式命名即可。然后采用熟悉的形式,无论 是直接在webapps目录中部署还是通过manager应用远程部署,都可以。
总结下:
1. webapps/myapp##1.0.war
2. webapps/myapp##1.1/..
3.