[发明专利]一种高可用应用程序架构及构建方法有效
申请号: | 201711317859.5 | 申请日: | 2017-12-12 |
公开(公告)号: | CN108200124B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 杨书;张雪琼;廖乔治 | 申请(专利权)人: | 武汉烽火众智数字技术有限责任公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
代理公司: | 北京汇泽知识产权代理有限公司 11228 | 代理人: | 张涛 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可用 应用程序 架构 构建 方法 | ||
本发明提供了一种高可用应用程序架构及构建方法,包括应用程序和处于同一网段内的至少两台服务器;应用程序分别部署在至少两台服务器的tomcat上,tomcat的lib目录下配置有所述应用程序的session共享文件包;两台服务器共建redis集群环境,通过redis集群实现两个应用程序之间的session共享;每台服务器分别安装有nginx和主备keepalived,每台nginx配置应用程序的负载均衡,每台keepalived对外提供一个同网段的虚拟IP。方案能够保证应用程序的高可用高容灾,增加应用程序的稳定性,提高用户的体验度,降低因应用程序宕机所带来损失,而且很好的解决多个应用之间session共享的问题,降低应用程序与高可用架构之间的耦合度。
技术领域
本发明涉及软件技术领域,尤其涉及高可用应用程序架构及构建高可用应用程序架构的方法。
背景技术
现有的应用程序架构大多数为单机环境,应用程序宕机后,整个系统将无法提供给用户进行访问,严重影响用户正常使用,导致用户的体验度下降。
现有的一些架构利用nginx来做负载均衡,提供应用程序的双机热备,当一台应用程序宕机后还能继续访问另外一台,一定程度上能够保证应用程序的高可用,但是若提供负载均衡的nginx宕机,则整个系统依然处于不可用状态。
而且,单纯使用nginx做负载均衡,用户的session信息存放也存在问题,即使用spring-session来保证session共享,仍然需要在应用程序中写较多的代码和引入特定的包,需要应用程序和高可用架构具有耦合性。
发明内容
本发明实施例提出了一种高可用应用程序架构及构建高可用应用程序架构的方法,能够部署比较重要、需求性高且可用高容灾特性的应用程序。
本发明实施例提供一种应用程序集群高可用的架构,所述架构包括应用程序和处于同一网段内的至少两台服务器;
所述应用程序分别部署在至少两台服务器的tomcat上,所述tomcat的lib目录下配置有所述应用程序的session共享文件包;
所述两台服务器共建redis集群环境,通过所述redis集群实现两个应用程序之间的session共享;所述每台服务器分别安装有nginx和主备keepalived,每台nginx配置应用程序的负载均衡,每台keepalived对外提供一个同网段的虚拟IP。
其中,所述两台服务器共建redis集群环境,具体包括:
所述两台服务器安装N个redis主服务和N个redis从服务,利用redis的哨兵机制提供redis集群环境的高可用性,N为大于3的整数。
其中,所述tomcat的lib目录下配置有所述应用程序的session共享文件包,具体包括:
通过修改tomcat里面的context.xml配置文件,将所述session共享文件包位于所述服务器tomcat的lib目录下。
具体的,所述tomcat的lib目录具体包括:commons-pool2-2.2.jar、jedis-2.8.1.jar、和tomcat-redis-session-manager-2.0.0.jar。
其中,所述每台nginx配置应用程序的负载均衡,具体包括:
修改每台服务器nginx.conf的配置文件,使得两个应用程序之间负载均衡。
本发明还提供一种构建高可用性的应用程序的方法,所述方法包括:
将应用程序分别部署在至少两台服务器的tomcat上,所述tomcat的lib目录中设置有应用程序的session共享文件包,所述至少两台服务器处于同一网段;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉烽火众智数字技术有限责任公司,未经武汉烽火众智数字技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711317859.5/2.html,转载请声明来源钻瓜专利网。