当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于Docker的Web服务器架构及各模块之间的交互方法技术

技术编号:12420486 阅读:88 留言:0更新日期:2015-12-02 15:36
本发明专利技术公开了一种基于Docker的Web服务器架构及各模块之间的交互方法,所述基于Docker的Web服务器架构包括:负载均衡模块、服务发现模块、系统监控模块、私有库模块和若干服务器模块。可以方便的应用于需要高可用性及扩展性的Web系统,同时实现如下功能:(1)监控、存储及显示CoreOS服务器及其运行Docker容器的运行状况;(2)根据监控数据动态伸缩集群;(3)通过搭建Docker私有库及相关策略,以非重启的方式更新业务。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是涉及。
技术介绍
随着移动互联网的快速发展,上网人数和时间均呈爆发式增长,网站的后台架构也在不断的变化以应对日益庞大的访问需求。Web服务器架构的设计,从最初简单的将Web服务和数据库服务等所有服务署到一台物理服务器上;到后来的数据库服务与Web服务分离,从而提高数据库服务性能与安全性;进而到使用负载均衡技术将负载分摊到多台Web服务器上以减少单台Web服务器的压力,数据库则使用NoSQL或读写分离等策略来提高并发能力;到最近的Auto Scaling方式,通过对现有服务器集群的CPU和内存等进行监控,根据访问需求以及制定的伸缩策略,自动增加和移除Web服务器节点。与传统的手工增删节点相比,这种方式响应快,运维成本小,稳定性高。另外,因访问需求下降时,可以自动移除节点,有效提高了服务器资源使用效率。然而,使用传统服务器或云计算技术实现Auto Scaling架构有很多问题,导致Auto Scaling方式一直没有广泛应用。首先,将业务模块部署到服务器所需时间较长,而移动互联网应用要求业务模块必须快速迭代上线,业务模块的频繁部署和更新会占用大量的人员及宝贵的时间。与此同时,对突如其来的海量访问请求,传统服务器或云计算架构无法快速启动新的服务节点,导致访问延迟甚至系统崩溃。Web网站架构在不断发展的同时,云计算技术也在不断的迅猛发展,并迅速应用到包括Web服务器架构设计的各个领域中。然而,传统云计算技术的基础架构基本都采用虚拟机方式,在一些细分领域,其固有缺陷导致应用效果不尽如人意。随着云计算技术的流行和相关技术的迅猛发展,云计算技术基础架构的实现已不再只有虚拟机一种选择。OpenVZ和LXC等容器技术,因其启动速度更快、性能更高等特点,渐渐在云计算领域中占有一席之地。而Docker作为一种管理轻量级容器的引擎,可以方便快速的创建容器并进行容器的全生命周期管理,使得容器技术的普及更进一步。再进一步,CoreOS作为一个基于Docker的轻量级容器化Linux发行版,通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度,有望成为下一代Linux服务器。
技术实现思路
本专利技术主要解决的技术问题是提供,可以方便的应用于需要高可用性及扩展性的Web系统。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种基于Docker的Web服务器架构,包括:负载均衡模块、服务发现模块、系统监控模块、私有库模块和若干服务器模块,其中: 负载均衡模块用于对动态变化的集群各计算节点进行负载均衡; 服务发现模块用于实时存储动态变化的集群各计算节点的信息; 系统监控模块用于采集、存储和显示集群各计算节点的运行状态信息; 服务器模块用于快速启动并管理各计算节点; 私有库模块用于提供镜像的存储、访问和查询服务。在本专利技术一个较佳实施例中,所述负载均衡模块采用HaProxy代理工具。在本专利技术一个较佳实施例中,所述服务发现模块采用Etcd存储系统。在本专利技术一个较佳实施例中,所述负载均衡模块和所述服务发现模块均具备HA特性。在本专利技术一个较佳实施例中,所述服务器模块采用CoreOS操作系统。在本专利技术一个较佳实施例中,所述负载均衡模块包括提供服务的负载均衡模块主机和运行服务并与负载均衡模块主机的数据同步的负载均衡模块备机。在本专利技术一个较佳实施例中,所述服务发现模块包括服务发现模块主机和服务发现模块备机。在本专利技术一个较佳实施例中,所述私有库模块为Docker私有库模块。本专利技术还提供一种基于Docker的Web服务器架构各模块之间的交互方法,包括以下过程: (100)请求处理:请求端发出请求,负载均衡模块将接收到的请求根据负载平衡策略分摊至任一计算节点;计算节点处理请求,并将结果返回至负载均衡模块,负载均衡模块将响应结果返回至请求端; (200)服务发现:当添加新的计算节点时,会向服务发现模块注册新增计算节点信息;移除计算节点时,首先通知负载均衡模块移除该计算节点,然后从服务发现模块中移除该计算节点的相关信息; (300)系统监控:将各服务器模块中运行的监控模块作为从节点,系统监控模块作为主节点,从节点周期性的向主节点发送所在服务器模块的指标数据,主节点接收各从节点的指标数据并绘制成图形,显示在系统监控模块所在的主机浏览器上; (400)业务更新:开发人员将新的业务镜像上传到私有库模块中,每次新增计算节点时,从私有库模块中下载新的业务镜像并加载运行。在本专利技术一个较佳实施例中,所述负载均衡模块定期查询所述服务发现模块,并根据查询结果更新并重新加载负载均衡模块的配置文件。本专利技术的有益效果是:可以方便的应用于需要高可用性及扩展性的Web系统,同时实现如下功能:(I)监控、存储及显示CoreOS服务器及其运行Docker容器的运行状况;(2)根据监控数据动态伸缩集群;(3)通过搭建Docker私有库及相关策略,以非重启的方式更新业务。【附图说明】图1是本专利技术一种基于Docker的Web服务器架构一较佳实施例的结构示意图; 图2是图1所示负载均衡模块的运行过程构架图; 图3是图1所示服务发现模块的运行过程构架图; 图4是图1所示系统监控模块的运行过程构架图; 图5是图1所示私有库模块的运行过程构架图; 附图中各部件的标记如下:1、负载均衡模块,2、服务发现模块,3、系统监控模块,4、月艮务器模块,5、私有库模块。【具体实施方式】下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围做出更为清楚明确的界定。请参阅图1-图5,本专利技术实施例包括: 一种基于Docker的Web服务器架构,如图1所示,包括:负载均衡模块1、服务发现模块2、系统监控模块3、私有库模块5和若干服务器模块4。其中: 所述负载均衡模块I用于对动态变化的集群各计算节点(Container)进行负载均衡;其采用HaProxy即Confd开源工具实现,Haproxy是一种免费、快速并且可靠地基于TCP和HTTP应用的代理工具,特别适合一些负载较大的Web站点使用。Confd是一个轻量级的配置管理工具,结合配置模板引擎,可以定期配置并重新加载Haproxy服务。在不重启的前提下,应用其他模块对其配置文件作出的改变。同时,所述负载均衡模块I具备HA特性,即当master节点宕机时,能及时启动slave节点并提供服务。所述服务发现模块2用于实时存储动态变化的集群各计算节点(Container)的信息;其采用Etcd存储系统存储各计算节点信息。Etcd是一个高可用的Key/Value存储系统,主要用于分享配置和服务发现。Etcd同时支持RESTful API,可以方便的融合进系统中。能够快速增加和移除当前计算节点的信息。同时,所述服务发现模块2具备HA特性,当master节点宕机时,能及时启动slave节点并提供服务。所述服务器模块4用于快速启动并管理各计算节点(Container);其采用CoreOS操作系统。CoreOS是一个基于Docker的轻量级容当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种基于Docker的Web服务器架构,其特征在于,包括:负载均衡模块、服务发现模块、系统监控模块、私有库模块和若干服务器模块,其中:负载均衡模块用于对动态变化的集群各计算节点进行负载均衡;服务发现模块用于实时存储动态变化的集群各计算节点的信息;系统监控模块用于采集、存储和显示集群各计算节点的运行状态信息;服务器模块用于快速启动并管理各计算节点;私有库模块用于提供镜像的存储、访问和查询服务。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴含前李乾坤姚莉李露
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1