一种基于Docker平台的中间件应用管控方法和装置与流程

文档序号:12887003阅读:608来源:国知局

本发明涉及计算机技术领域,特别涉及一种基于docker平台的中间件应用管控方法和装置。



背景技术:

中间件应用提供接收服务,接收终端数据,例如:终端进程、上网行为、文件操作等,然后由服务器生成文件,作为数据分析平台的数据来源。每天产生的终端行为数据量庞大,因此对中间件应用的配置是必须的。

目前,传统的方式就是依次进行安装操作系统、部署web服务器、部署中间件应用、启动容器服务。这要求实施人员要全面掌握部署相关的技术,而且还费时费力。在运维过程中,由于中间件升级或终端数量的变化,要及时对中间件进行维护或者调整中间件应用的数量时,需要重复上述工作,并且在部署过程中容易造成人为错误;发现中间件出问题,对中间件应用重新部署就会影响终端数据上报,从而影响数据分析平台的数据分析。



技术实现要素:

本发明实施例提供了一种基于docker平台的中间件应用管控方法和装置,一种可读介质和存储控制器,能够解决部署效率低的问题,实现快速交付、一键部署、一键启动;在运维过程中,发现有中间件应用出错时,可以快速启动新的中间件应用;在后期随着终端数量的调整,中间件应用可以快速增减;可以大量减少人为配置,从而减少配置出错的概率。

第一方面,本发明实施例提供了一种基于docker平台的中间件应用管控方法,该方法包括:将预先制作的中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件导入docker平台;

由代理服务器镜像文件形成代理服务器容器、由中间件监控平台应用镜像文件形成中间件监控容器以及由中间件应用镜像文件形成至少一个中间件应用容器;

代理服务器容器接收终端发送的数据信息,并将该数据信息分发给至少一个中间件应用容器;

每一个中间件应用容器发送工作状态信息给中间件监控容器;

中间件监控容器根据接收到的每一个中间件应用容器的工作状态信息,确定工作状态值,若工作状态值符合预设的减少中间件应用容器的阈值,则减少当前中间件应用容器的数量;若工作状态值符合预设的维持中间件应用容器的阈值,则维持当前中间件应用容器的数量;若工作状态值符合预设的增加中间件应用容器的阈值,则增加当前中间件应用容器的数量。

优选地,在代理服务器容器接收终端发送的数据信息之前,进一步包括:

代理服务器容器给每一个中间件应用容器配置服务器地址,以实现对中间件应用的代理服务。

优选地,在减少当前中间件应用容器的数量之后,进一步包括:代理服务器容器重新给每一个中间件应用容器配置服务器地址;

或,

在增加当前中间件应用容器的数量之后,进一步包括:代理服务器容器重新给每一个中间件应用容器配置服务器地址。

优选地,在将预先制作的中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件导入docker平台之前,进一步包括:

将中间件应用、中间件监控平台应用、代理服务器应用部署到web容器中,形成中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件。

第二方面,本发明实施例提供了一种基于docker平台的中间件应用管控装置,该装置包括:导入模块、运行模块、代理服务器容器、中间件应用容器和中间件监控容器,其中,

导入模块,用于将预先制作的中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件导入docker平台;

运行模块,用于由代理服务器镜像文件形成代理服务器容器、由中间件监控平台应用镜像文件形成中间件监控容器以及由中间件应用镜像文件形成至少一个中间件应用容器;

代理服务器容器,用于接收终端发送的数据信息,并将该数据信息分发给至少一个中间件应用容器;

中间件应用容器,用于发送工作状态信息给中间件监控容器;

中间件监控容器,用于根据接收到的每一个中间件应用容器的工作状态信息,确定工作状态值,若工作状态值符合预设的减少中间件应用容器的阈值,则减少当前中间件应用容器的数量;若工作状态值符合预设的维持中间件应用容器的阈值,则维持当前中间件应用容器的数量;若工作状态值符合预设的增加中间件应用容器的阈值,则增加当前中间件应用容器的数量。

优选地,代理服务器容器,进一步用于给每一个中间件应用容器配置服务器地址,以实现对中间件应用的代理服务。

优选地,在减少当前中间件应用容器的数量之后,代理服务器容器进一步用于重新给每一个中间件应用容器配置服务器地址;

或,

在增加当前中间件应用容器的数量之后,代理服务器容器进一步用于重新给每一个中间件应用容器配置服务器地址。

优选地,该装置进一步包括:部署模块,用于将中间件应用、中间件监控平台应用、代理服务器应用部署到web容器中,形成中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件。

第三方面,本发明实施例提供了一种可读介质,该可读介质包括:执行指令,当存储控制器的处理器执行所述执行指令时,存储控制器执行上述第一方面中任一所述的基于docker平台的中间件应用管控方法。

第四方面,本发明实施例提供了一种存储控制器,该存储控制器包括:处理器、存储器和总线;

处理器和存储器通过总线连接;

存储器,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行上述第一方面中任一所述的基于docker平台的中间件应用管控方法。

本发明实施例提供了一种基于docker平台的中间件应用管控方法和装置,一种可读介质和存储控制器,通过采用docker技术,取代传统的虚拟机部署方式。传统的虚拟机部署方式一台服务器上只部署一台中间件应用,而且硬件配置要求较高,不能随着终端数量变化调整部署中间件数量。而采用docker容器的方式,docker容器不包含操作系统的内核,共享一个操作系统内核,直接在宿主平台上加载运行应用程序,可以在一台服务器上启动多个中间件应用容器,这个方式可以节省硬件资源。同时,采用这种方式解决部署慢的问题,实现快速交付、一键部署、一键启动;在运维过程中发现应用出错,可以快速启动新的中间件应用;在后期随着终端的调整中间件应用可以快速增减;可以大量减少人为配置,同时减少配置出错概率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种基于docker平台的中间件应用管控方法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种基于docker平台的中间件应用管控方法,主要是针对中间件应用的部署运维优化,从根本层面改变应用程序开发,测试过程、提升中间件应用整体性能、增强中间件应用安全机制。

一、开发测试阶段

借助docker为应用程序提供始终一致的环境,优化迭代开发过程。开发阶段部署与生产环境一致的docker平台,新版本快速发布、快速测试、及时地发现各类隐患问题,并快速修复。后期再向生产环境导入新镜像文件,平稳实现新版本发布。

二、应用运行阶段

如图1所示,该阶段主要是动态分配资源,提升中间件应用的整体性能,通过中间件监控平台的各中间件应用的运行状态,手动或自动调整中间件应用的数量。

1、在docker平台中制作中间件应用的代理服务器镜像文件,例如:haproxy软件,通过haproxy指定每一个中间件应用的服务器地址,实现中间件应用的代理服务,各业务终端向代理服务器发送数据信息,代理服务器就会根据每一个中间件应用的服务器地址自动转发给相应的中间件应用容器。

2、中间件应用容器启动后会向中间件监控容器发送工作状态信息,例如:cpu、内存、jvm信息、接收数据量等。

3、中间件监控容器会根据中间件应用容器的状态,根据设定的阈值,自动减少、新增或停止中间件应用容器。例如:由每一个中间件应用容器的接收数据量确定中间件应用容器的综合工作状态值,预设的工作状态阈值为[a,b],且b>a,若中间件应用容器的综合工作状态值小于a,则减少中间件应用容器的数量;若中间件应用容器的综合工作状态值大于b,则新增中间件应用容器的数量;若中间件应用容器的综合工作状态值大于a且小于b,则维持中间件应用容器的数量。此处只是给出了一种调控中间件应用容器数量的实施例,调控中间件应用容器数量还可以使用中间件应用容器的其他工作状态信息、以及多种状态信息的结合等方法进行阈值和策略的设定。

在中间件应用容器的数量调整后,可以通过haproxy再次指定每一个中间件应用的服务器地址。

三、运维阶段

将运维过程进行优化:

1、将中间件应用程序便携式部署成单一对象,产品化管理;

2、简化环境配置,不用再考虑操作系统级别的配置;

3、内置版本控制功能,对中间件应用进行版本管理;

4、中间件应用作为组件可重复使用;

5、中间件应用快速部署。

四、全周期管理

1、选择安全度高的操作系统镜像,其操作系统要尽量小,去除冗余的服务,减少系统出现漏洞的概率,使生成的中间件应用镜像文件最小化。如:alpine系统等。

2、启动容器时设置指定容器使用的核心、内存大小。例如:cpuset-cpus="0,1"-m1000m。

3、采用tls(transportlayersecurity,安全传输层协议)方式启停中间件应用容器服务,添加ca.pem、client-cert.pem和client-key.pem证书签名,防止非法启停服务。

4、启动中间件应用容器时关闭capability(能力机制),如:setuid、setgid、fowner等。

在该实施例中,通过docker虚拟化,统一开发、测试、运维各阶段的运行环境。完善了业务应用的全生命周期管理,可以大大提高工作效率。使中间件应用部署运维效率提升70%,配置出错率降低90%,中间件应用版本升级开发、测试工作效率提升20%,开发代码、测试能在接近生产环境运行。同时,提升中间件应用性能,优化企业硬件资源配置,动态资源分配,可以自动调节中间件容器服务数量,资源利用率提高30%。

本发明实施例提供了一种基于docker平台的中间件应用管控方法,在对中间件应用进行管控之前进行的准备过程。

一、准备docker环境

中间件应用镜像文件和中间件监控平台应用镜像文件的运行均要依赖于docker环境。

二、制作linux操作系统基本镜像

配置最小化、最安全的基础操作系统镜像文件。中间件应用和中间件监控平台要在此linux操作系统基本镜像文件的基础上,部署应用。形成标准的docker镜像文件版本库,通过导出镜像文件,在其它docker平台导入镜像文件,实现中间件应用和中间件监控平台的发布。

三、安装编排工具

编排工具可以是rancher,通过编排工具的前界面维护容器服务的创建、启停。查看容器服务运行状态,以及通过webshell方式访问容器资源。

四、部署中间件应用镜像文件

在docker平台上部署中间件应用镜像文件,通过文件宿主机与容器文件映射,方便应用配置文件的管理。

五、部署中间件监控平台应用镜像文件

在docker平台上部署中间件监控平台应用镜像文件,通过文件宿主机与容器文件映射,方便应用配置文件的管理。

六、部署haproxy代理服务器镜像文件

通过haproxy代理,实现中间件应用的服务分发。

在该实施例中,利用linux的lxc(容器)技术,将中间件应用、中间件监控平台、代理服务器部署在web容器里,作为独立的服务容器,可以在docker环境中导入、导出,使其具有移植性和独立性。同时,实现在一台服务器上启动多个中间件应用容器,这个方式可以节省硬件资源,启停方便、快速。集群化部署,运维管理轻便。

本发明实施例提供了一种基于docker平台的中间件应用管控装置,该装置包括:导入模块、运行模块、代理服务器容器、中间件应用容器和中间件监控容器,其中,

导入模块,用于将预先制作的中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件导入docker平台;

运行模块,用于由代理服务器镜像文件形成代理服务器容器、由中间件监控平台应用镜像文件形成中间件监控容器以及由中间件应用镜像文件形成至少一个中间件应用容器;

代理服务器容器,用于接收终端发送的数据信息,并将该数据信息分发给至少一个中间件应用容器;

中间件应用容器,用于发送工作状态信息给中间件监控容器;

中间件监控容器,用于根据接收到的每一个中间件应用容器的工作状态信息,确定工作状态值,若工作状态值符合预设的减少中间件应用容器的阈值,则减少当前中间件应用容器的数量;若工作状态值符合预设的维持中间件应用容器的阈值,则维持当前中间件应用容器的数量;若工作状态值符合预设的增加中间件应用容器的阈值,则增加当前中间件应用容器的数量。

在本发明一个实施例中,代理服务器容器,进一步用于给每一个中间件应用容器配置服务器地址,以实现对中间件应用的代理服务。

在本发明一个实施例中,在减少当前中间件应用容器的数量之后,代理服务器容器进一步用于重新给每一个中间件应用容器配置服务器地址;

或,

在增加当前中间件应用容器的数量之后,代理服务器容器进一步用于重新给每一个中间件应用容器配置服务器地址。

在本发明一个实施例中,该装置可以进一步包括:部署模块,用于将中间件应用、中间件监控平台应用、代理服务器应用部署到web容器中,形成中间件应用镜像文件、中间件监控平台应用镜像文件和代理服务器镜像文件。

上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

综上,本发明的各实施例,至少具有如下有益效果:

1、在本发明的实施例中,通过采用docker技术,取代传统的虚拟机部署方式。传统的虚拟机部署方式一台服务器上只部署一台中间件应用,而且硬件配置要求较高,不能随着终端数量变化调整部署中间件数量。而采用docker容器的方式,docker容器不包含操作系统的内核,共享一个操作系统内核,直接在宿主平台上加载运行应用程序,可以在一台服务器上启动多个中间件应用容器,这个方式可以节省硬件资源。同时,采用这种方式解决部署慢的问题,实现快速交付、一键部署、一键启动;在运维过程中发现应用出错,可以快速启动新的中间件应用;在后期随着终端的调整中间件应用可以快速增减;可以大量减少人为配置,同时减少配置出错概率。

2、在本发明的实施例中,通过docker虚拟化,统一开发、测试、运维各阶段的运行环境。完善了业务应用的全生命周期管理,可以大大提高工作效率。使中间件应用部署运维效率提升70%,配置出错率降低90%,中间件应用版本升级开发、测试工作效率提升20%,开发代码、测试能在接近生产环境运行。同时,提升中间件应用性能,优化企业硬件资源配置,动态资源分配,可以自动调节中间件容器服务数量,资源利用率提高30%。

3、在本发明的实施例中,利用linux的lxc(容器)技术,将中间件应用、中间件监控平台、代理服务器部署在web容器里,作为独立的服务容器,可以在docker环境中导入、导出,使其具有移植性和独立性。同时,实现在一台服务器上启动多个中间件应用容器,这个方式可以节省硬件资源,启停方便、快速。集群化部署,运维管理轻便。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1