Tomcat如何部署同一应用的不同版本

你是否听说过在一个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.


文章名称:Tomcat如何部署同一应用的不同版本
当前网址:http://hbruida.cn/article/cgggih.html