下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种多节点集群环境下快速部署更新方案
1快速部署和同步云计算是传统计算机与网络技术的结合的产物,如分布式计算、平行计算、效用计算、网络存储、虚拟化和负载平衡。云计算的基础是一个高可用性的集群,如何快速地搭建一个多节点的集群环境是搭建一个云计算环境的基础和关键。由于在云计算环境的测试过程中,不断要进行性能调优和一些配置或者代码修改,如何使得修改快速在所有的节点中保持同步是一个需要解决的问题,在今后实际运行环境中,也需要一种机制能够做到集群的快速部署和修改快速同步。本文还提出了一种集群环境下的热部署方案,使得集群环境下热部署更加高效可靠。2x技术增强了本地网络上的代理服务器性能,提高了管理和维护互集群部署方案如图1所示,利用nginx来作为反向代理服务器,负责请求的代理转发和负载均衡。为了性能考虑,在nginx上做动静分离,即静态内容直接缓存在nginx上,不需要转发到应用节点,动态请求才转发到应用节点上去。反向代理方式是指以代理服务器来接受互联网上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给互联网上请求连接的客户端,此时代理服务器对外就表现为一个服务器。通常的代理服务器,只用于代理内部网络对互联网的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的HTTP请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。在网络上常见的代理服务器有三种:(1)标准代理缓冲服务器一个标准的代理缓冲服务器被用于缓存静态的网页(例如html文件和图片文件)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。(2)透明代理缓冲服务器透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器做任何设置,所以,透明代理对于ISP(互联网服务器提供商)特别有用。(3)反向代理缓冲服务器反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和互联网之间,处理所有对WEB服务器的请求,组织了WEB服务器和互联网的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。nginx此处的作用是标准代理和反向代理服务器,它具有很多非常优越的特性:(1)在高连接并发的情况下,nginx是apache服务器不错的替代品,它能够支持高达50000个并发连接数的响应;(2)作为负载均衡服务器:nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。nginx采用C语言进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多;(3)作为邮件代理服务器:nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器);(4)nginx是一个安装简单、配置文件简洁、Bug少的服务器:nginx启动特别容易,并且几乎可以做到7*24h不间断运行,即使运行数月也不需要重新启动。并且nginx本身支持热部署。3更新脚本的探测集群同步方案如图2所示,利用一个应用程序源来维护最新的应用程序,当需要更新集群时,只需要更新应用程序源上的程序或配置,那么集群节点上的更新脚本就会自动探测到变化并进行自动更新。自动更新脚本的处理逻辑如下:(1)检查是否是最新版本(将版本信息写在一个文件里);(2)如果不是最新版本,先删除本地的文件,然后将服务器版本拷贝到本地。4在线节点源模块nginx配置自动更新方案如图3所示,nginx从在线节点源获取包含在线节点,并自动更新自身配置。在线节点源可以使一个包含在线节点列表的文本或者页面,可以通过多种方式实现,比如Jenkins等。Jenkins可以获取到注册在它上面的在线节点列表,并且通过http://ip/jenkins/computer/这个页面可以获取该列表。5基于x本身热部署机制的热部署方案热部署,就是在应用正在运行的时候升级软件,而不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。但是在集群环境下进行热部署,比单机热部署更加复杂,通常考虑的做法如下:(1)利用应用服务器本身的热部署机制利用应用服务器本身的热部署支持,比如Tomcat中可以通过在server.xml配置文件的Host节点下加入热部署配置来实现Tomcat的热部署,利用这个机制,只需要在集群的更新脚本update.sh中指定更新的文件名,使得更新时在不重启Tomcat节点的前提下更新指定的文件,从而实现了集群的热部署。该方案的优点是更新部署方便快捷,并且集群节点可以做到自动更新;缺点是应用服务器本身的热部署存在一些不稳定性,并且部署之后有一段时间服务处于无效状态。(2)依次更新集群中的节点实现热部署依次更新集群中的每一个节点,直至更新完所有的节点,从而实现集群的热部署。该方案的优点是服务不会中断,一直处于可用状态;缺点是更新部署比较麻烦,并且存在应用多版本的问题,造成不一致。从以上两种集群热部署方案来看,有各自的优点,但是也都存在一些问题,不能做到真正高效或可靠的热部署,本文提出了一种基于nginx本身热部署机制的一种高效可靠的热部署方案,即将新请求转发到新版本的方案。集群的每个节点上运行有一个单机自动更新脚本,在独立集群节点的服务器有一个依次更新集群所有节点的脚本,当集群中有新版本文件的节点可用之后,令反向代理服务器将新的请求自动转发到有新版本文件的节点上。所述的单机自动更新脚本,具体包括如下步骤:步骤一:从应用程序源服务器指定位置下载最新版本文件;步骤二:比较本地版本文件与最新版本文件,检查是否是最新版本;如果不是最新版本,则先删除本地的应用文件,然后将应用程序源服务器应用文件版本拷贝到本地。所述的在独立集群节点的服务器依次更新集群所有节点的脚本,具体包括如下步骤:步骤一:获取集群中所有节点的列表;步骤二:获得未更新应用程序节点的地址,远程依次连接至未更新应用程序节点执行自动更新脚本进行文件版本更新,直至集群中所有节点都更新完毕。所述的当集群中有新版本文件的节点可用之后,令反向代理服务器将新的请求自动转发到有新版本文件的节点上,具体包括如下步骤:步骤一:获取应用程序源上的最新版本文件;步骤三:获取节点上的版本文件,并与最新版本文件进行比较;步骤四:若节点的版本文件与最新版本文件相同,则将该节点加入新节点池中,否则加入旧节点池中;步骤五:重复执行步骤三、四,直至遍历完集群中所有节点。反向代理服务器在进行请求自动转发时,根据新节点池的数目进行判断,当新节点池数目为0,则将旧节点池作为可供转发的节点池;否则,将新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度农产品代加工与农业科技示范推广合同3篇
- 2025年度年度托管班营养餐供应合同2篇
- 二零二五年度农产品加工企业原料委托收购合同3篇
- 2024年中国白跟小跟市场调查研究报告
- 2025年度农村土地整治农民劳务服务合同
- 2025年度农村土地转让与使用权租赁合同2篇
- 二零二五养老院院民健康疗养出行服务合同3篇
- 2024年河北医科大学第一医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024年中国珠海渔女纪念品市场调查研究报告
- 2025年学校临时工聘用合同修订模板3篇
- 2024年地理知识竞赛试题200题及答案
- 肝衰竭诊治指南(2024年版)解读
- 河北省唐山市药品零售药店企业药房名单目录
- 监考要求、操作流程及指导语
- 水上运输大型构件安全交底
- 《保障农民工工资支付条例》口袋书课件
- 2020 新ACLS-PCSA课前自我测试-翻译版玉二医【复制】附有答案
- 危险化学品安全周知卡氧气
- DB13∕T 5517-2022 大田作物病虫草害防控关键期植保无人飞机作业技术规程
- 《编译原理》考试试习题及答案(汇总)
- 赢在执行力:团队执行力-下
评论
0/150
提交评论