Nginx路由配置信息更新方法及系统、可读存储介质和终端技术方案

技术编号:20430733 阅读:21 留言:0更新日期:2019-02-23 10:41
一种Nginx路由配置信息更新方法及装置、可读存储介质和终端,所述方法包括:构建应用与容器之间的关联关系并存储;对容器系统的容器变化事件进行监听;当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。上述的方案,可以提高Nginx的路由配置信息更新效率,提高服务质量。

Nginx Routing Configuration Information Updating Method and System, Readable Storage Medium and Terminal

A Nginx routing configuration information updating method and device, readable storage medium and terminal. The method includes: constructing the relationship between application and container and storing it; monitoring container change events of container system; determining the information of the container involved in the container change events when the container change events are monitored; and determining the container based on the determined container involved. Information concerning the application to which the container belongs; all applications with the same name as the determined application and their routing configuration information are obtained from the container system; the routing configuration information of all applications with the same name obtained is compared with the corresponding routing configuration information in the Nginx server; and the corresponding routing configuration information in the Nginx server is updated according to the comparison results. The above scheme can improve the update efficiency of Nginx's routing configuration information and the quality of service.

【技术实现步骤摘要】
Nginx路由配置信息更新方法及系统、可读存储介质和终端
本专利技术涉及计算机应用
,具体地涉及一种Nginx路由配置信息更新方法及系统、可读存储介质和终端。
技术介绍
Nginx是一款轻量级的网页(Web)服务器/反向代理服务器及电子邮件代理服务器,并在一个类伯克利软件发布(BerkeleySoftwareDistribution-like,BSD-like)协议下发行。Nginx具有占有内存少,并发能力强的优点,事实上Nginx的并发能力在同类型的网页服务器中表现较好,在互联网企业的网站中得到了较为广泛的应用。Nginx的核心思想是“配置持久化存储+周期性内存实例化”,这种周期性假设的前提通常都是较长时间的周期,且内存实例化通常发生在用户访问量少时,故存在着路由配置信息更新效率低下的问题,同时还可能会影响应用所提供的服务的质量。
技术实现思路
本专利技术解决的技术问题是如何提高Nginx的路由配置信息更新效率,提高服务质量。为解决上述技术问题,本专利技术实施例提供了一种Nginx路由配置信息更新方法,所述方法包括:构建应用与容器之间的关联关系并存储;对容器系统的容器变化事件进行监听;当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。可选地,所述构建应用与容器之间的关联关系,包括:采用二元组信息(应用名称,应用版本)对构成应用的容器进行标识。可选地,所述对容器系统的容器变化事件进行监听,包括:对所述容器系统中的所有事件监听;从所监听的所有事件中过滤出所述容器变化事件。可选地,所述应用的配置信息包括协议类型、IP地址和端口的配置信息。可选地,所述根据比较结果,对Nginx服务器中对应的路由配置信息进行更新,包括:当所述比较结果为不一致时,将Nginx服务器中对应的路由配置信息替换为从所述容器系统中获取的对应的应用的路由配置信息。可选地,所述Nginx服务器中对应的路由配置信息存储在所述Nginx服务器的内存中。本专利技术实施例还提供了一种Nginx路由配置信息更新装置,所述装置包括:构建单元,适于构建应用与容器之间的关联关系并存储;监听单元,适于对容器系统的容器变化事件进行监听;容器确定单元,适于当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;应用确定单元,适于基于所确定的所涉及容器,确定所涉及容器所属应用的信息;获取单元,适于从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;比较单元,适于将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;更新单元,适于根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。可选地,所述构建单元,适于采用二元组信息(应用名称,应用版本)对构成应用的容器进行标识。可选地,所述监听单元,适于对所述容器系统中的所有事件监听;从所监听的所有事件中过滤出所述容器变化事件。可选地,所述应用的配置信息包括协议类型、IP地址和端口的配置信息。可选地,所述更新单元,适于当所述比较结果为不一致时,将Nginx服务器中对应的路由配置信息替换为从所述容器系统中获取的对应的应用的路由配置信息。可选地,所述Nginx服务器中对应的路由配置信息存储在所述Nginx服务器的内存中。本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一项所述的Nginx路由配置信息更新方法的步骤。本专利技术实施例还提供了一种终端,其特征在于,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一项所述的Nginx路由配置信息更新方法的步骤。与现有技术相比,本专利技术实施例的技术方案具有以下有益效果:上述的方案,通过构建应用与容器之间的关联关系并存储,并当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息,基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。该方案,可以在监听到容器系统的容器变化事件时,实时对发生变化的应用的路由配置信息进行更新,与采用周期性的Nginx路由配置信息更新方式相比,可以提高Nginx路由配置信息的更新效率,并可以避免由于Nginx路由配置信息未及时更新所导致的服务质量下降的问题。附图说明图1是本专利技术实施例的一种Nginx路由配置信息更新方法的流程示意图;图2是本专利技术实施例的一种Nginx路由配置信息更新装置的结构示意图。具体实施方式本专利技术实施例中的技术方案通过在监听到容器系统的容器变化事件时,实时对发生变化的应用的路由配置信息进行更新,与采用周期性的Nginx路由配置信息更新方式相比,可以提高Nginx路由配置信息的更新效率,并可以避免由于Nginx路由配置信息未及时更新所导致的服务质量下降的问题。为使本专利技术的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。图1是本专利技术实施例的一种Nginx路由配置信息更新方法的流程示意图。参见图1,本专利技术实施例的一种Nginx路由配置信息更新方法,可以包括如下的步骤:步骤S101:构建应用与容器之间的关联关系并存储。在具体实施中,容器是一种将差异化应用运行环境封装成统一格式的软件制品,并将其作为最小运行单元的主流技术。应用为采用容器进行封装得到。应用与容器之间的关系可以为一对一的关系,也可以为一对多的关系。换言之,应用可以由一个容器封装而成,也可以由两个以上的容器封装得到。容器作为统一格式的软件制品,从外部形态上难以区分其所属应用。在本专利技术一实施例中,在构建应用与容器之间的关联关系时,为还原容器所属应用的信息,基于容器的标签机制,进行语义扩展,其语义信息采用二元组<应用名称,应用版本>进行标识。其中,二元组<应用名称,应用版本>中的“应用名称”为全局唯一,以对不同的应用进行区分,“应用版本”则可以由用户根据实际的需要设定。步骤S102:对容器系统的容器变化事件进行监听。在具体实施中,在对容器系统的容器变化事件进行监听时,可以对所述容器系统的所有事件进行监听,实时地获取容器系统的所有事件。接着,可以通过对通过监听得到的容器系统的所有事件进行分析,从中过滤出所有的容器变化事件。步骤S103:当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息。在具体实施中,当监听到容器系统中发生的容器变化事件时,可以首先对监听到的容器发生事件进行解析,得到发生所述容器变化事件的容器的信息,也即确定所述容器变化事件所涉及容器的信息。步骤S104:基于所确定的所涉及容器,确定所涉及容器所属应用的信息。在具体实施中,当确定容器系统中发生本文档来自技高网...

【技术保护点】
1.一种Nginx路由配置信息更新方法,其特征在于,包括:构建应用与容器之间的关联关系并存储;对容器系统的容器变化事件进行监听;当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。

【技术特征摘要】
1.一种Nginx路由配置信息更新方法,其特征在于,包括:构建应用与容器之间的关联关系并存储;对容器系统的容器变化事件进行监听;当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。2.根据权利要求1所述的Nginx路由配置信息更新方法,其特征在于,所述构建应用与容器之间的关联关系,包括:采用二元组信息(应用名称,应用版本)对构成应用的容器进行标识。3.根据权利要求1所述的Nginx路由配置信息更新方法,其特征在于,所述对容器系统的容器变化事件进行监听,包括:对所述容器系统中的所有事件监听;从所监听的所有事件中过滤出所述容器变化事件。4.根据权利要求1所述的Nginx路由配置信息更新方法,其特征在于,所述应用的配置信息包括协议类型、IP地址和端口的配置信息。5.根据权利要求1所述的Nginx路由配置信息更新方法,其特征在于,所述根据比较结果,对Nginx服务器中对应的路由配置信息进行更新,包括:当所述比较结果为不一致时,将Nginx服务器中对应的路由配置信息替换为从所述容器系统中获取的对应的应用的路由配置信息。6.根据权利要求1至5任一项所述的Nginx路由配置信息更新方法,其特征在于,所述Nginx服务器中对应的路由配置信息存储在所述Nginx服务器的内存中。7.一种Nginx路由配置信息更新装置,其特征在于,包括:构建单元,适于构建应用与容器之间的关联关系并存储;监听单元,适于对容器系统的容器变化事件进行监听;容器确定单元,适于当监听到...

【专利技术属性】
技术研发人员:龙震岳魏理豪曾纪钧刘晔
申请(专利权)人:广东电网有限责任公司信息中心
类型:发明
国别省市:广东,44

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

1