CN109379212B - Nginx路由配置信息更新方法及系统、可读存储介质和终端 - Google Patents
Nginx路由配置信息更新方法及系统、可读存储介质和终端 Download PDFInfo
- Publication number
- CN109379212B CN109379212B CN201811066443.5A CN201811066443A CN109379212B CN 109379212 B CN109379212 B CN 109379212B CN 201811066443 A CN201811066443 A CN 201811066443A CN 109379212 B CN109379212 B CN 109379212B
- Authority
- CN
- China
- Prior art keywords
- configuration information
- container
- routing configuration
- application
- nginx
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种Nginx路由配置信息更新方法及装置、可读存储介质和终端,所述方法包括:构建应用与容器之间的关联关系并存储;对容器系统的容器变化事件进行监听;当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。上述的方案,可以提高Nginx的路由配置信息更新效率,提高服务质量。
Description
技术领域
本发明涉及计算机应用技术领域,具体地涉及一种Nginx路由配置信息更新方法及系统、可读存储介质和终端。
背景技术
Nginx是一款轻量级的网页(Web) 服务器/反向代理服务器及电子邮件代理服务器,并在一个类伯克利软件发布(Berkeley Software Distribution-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:基于所确定的所涉及容器,确定所涉及容器所属应用的信息。
在具体实施中,当确定容器系统中发生的容器变化事件所涉及容器时,可以通过查询所构建的应用与容器之间的关联关系,确定容器所属应用的信息。
步骤S105:从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息。
在具体实施中,当确定所涉及容器所属应用的信息时,可以从所述容器系统中查询与所确定的所涉及容器所属应用同名的所有应用。接着基于容器和应用之间的关联关系,可以从所述容器系统中获取同名的应用的所有构成容器及其IP地址的信息。
其中,所述应用的路由配置信息包括协议类型、IP地址和端口的配置信息,容器变化事件所引起的应用的配置信息的变化,表现为构成应用的容器的IP地址的变化。因而,从所述容器系统中所获取的同名的所有应用的路由配置信息,为同名的所有应用的构成容器的IP地址的信息。
步骤S106:将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较。
在具体实施中,当从所述容器系统中所获取的同名的所有应用的路由配置信息时,可以将从容器系统中获取的所有同名的应用的路由配置信息分别与Nginx服务器中当前所存储的同一应用的路由配置信息进行比较,以确定是否分别保持一致。
步骤S107:根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。
在具体实施中,当从容器系统中获取的应用的路由配置信息与Nginx服务器中当前所存储的同一应用的路由配置信息不一致时,表明容器系统中获取的构成应用的容器的IP地址已经发生变化,此时,可以首先暂停Nginx服务器的的请求服务,接着将Nginx服务器中对应的路由配置信息替换为从所述容器系统中获取的对应的应用的路由配置信息,最后,再重新开始提供服务;反之,则保持Nginx服务器中存储的同一应用的路由配置信息不变即可。
采用本发明实施例中的上述的方案,可以在监听到容器系统的容器变化事件时,实时对Nginx服务器内存中存储的应用的路由配置信息进行更新,与采用周期性的Nginx路由配置信息更新方式相比,可以提高Nginx路由配置信息的更新效率,并可以避免由于Nginx路由配置信息未及时更新所导致的服务质量下降的问题。
上述对本发明实施例中的Nginx路由配置信息更新方法进行了详细的描述,下面将对上述的方法对应的装置进行介绍。
图2示出了本发明实施例中的一种Nginx路由配置信息更新装置的结构示意图。如图2所示,所述装置20可以包括构建单元201、监听单元202、容器确定单元203、应用确定单元204、获取单元205、比较单元206和更新单元207,其中:
所述构建单元201,适于构建应用与容器之间的关联关系并存储。
所述监听单元202,适于对容器系统的容器变化事件进行监听。
所述容器确定单元203,适于当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息。
所述应用确定单元204,适于基于所确定的所涉及容器,确定所涉及容器所属应用的信息。
所述获取单元205,适于从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息。
所述比较单元206,适于将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较。
所述更新单元207,适于根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。其中,所述Nginx服务器中对应的路由配置信息存储在所述Nginx服务器的内存中。
可选地,所述构建单元201,适于采用二元组信息(应用名称,应用版本)对构成应用的容器进行标识。
可选地,所述监听单元202,适于对所述容器系统中的所有事件监听;从所监听的所有事件中过滤出所述容器变化事件。
可选地,所述应用的配置信息包括协议类型、IP地址和端口的配置信息。
可选地,所述更新单元207,适于当所述比较结果为不一致时,将Nginx服务器中对应的路由配置信息替换为从所述容器系统中获取的对应的应用的路由配置信息。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的Nginx路由配置信息更新方法的步骤。其中,所述Nginx路由配置信息更新方法请参见前述部分的介绍,不再赘述。
本发明实施例还提供了一种终端,其特征在于,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的Nginx路由配置信息更新方法的步骤。其中,所述Nginx路由配置信息更新方法请参见前述部分的介绍,不再赘述。
上述的方案,通过构建应用与容器之间的关联关系并存储,并当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息,基于所确定的所涉及容器,确定所涉及容器所属应用的信息;从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。该方案,可以在监听到容器系统的容器变化事件时,实时对发生变化的应用的路由配置信息进行更新,与采用周期性的Nginx路由配置信息更新方式相比,可以提高Nginx路由配置信息的更新效率,并可以避免由于Nginx路由配置信息未及时更新所导致的应用所提供的服务质量下降的问题。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
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路由配置信息更新装置,其特征在于,包括:
构建单元,适于构建应用与容器之间的关联关系并存储;
监听单元,适于对容器系统的容器变化事件进行监听;
容器确定单元,适于当监听到容器变化事件时,确定所述容器变化事件所涉及容器的信息;
应用确定单元,适于基于所确定的所涉及容器,确定所涉及容器所属应用的信息;
获取单元,适于从所述容器系统中获取与所确定的应用同名的所有应用及其路由配置信息;
比较单元,适于将所获取的同名的所有应用的路由配置信息分别与Nginx服务器中对应的路由配置信息进行比较;
更新单元,适于根据比较结果,对Nginx服务器中对应的路由配置信息进行更新。
8.根据权利要求7所述的Nginx路由配置信息更新装置,其特征在于,所述构建单元,适于采用二元组信息(应用名称,应用版本)对构成应用的容器进行标识。
9.根据权利要求7所述的Nginx路由配置信息更新装置,其特征在于,所述监听单元,适于对所述容器系统中的所有事件监听;从所监听的所有事件中过滤出所述容器变化事件。
10.根据权利要求7所述的Nginx路由配置信息更新装置,其特征在于,所述应用的配置信息包括协议类型、IP地址和端口的配置信息。
11.根据权利要求7所述的Nginx路由配置信息更新装置,其特征在于,所述更新单元,适于当所述比较结果为不一致时,将Nginx服务器中对应的路由配置信息替换为从所述容器系统中获取的对应的应用的路由配置信息。
12.根据权利要求7至11任一项所述的Nginx路由配置信息更新装置,其特征在于,所述Nginx服务器中对应的路由配置信息存储在所述Nginx服务器的内存中。
13.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至6 任一项所述的Nginx路由配置信息更新方法的步骤。
14.一种终端,其特征在于,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行权利要求1至6 任一项所述的Nginx路由配置信息更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811066443.5A CN109379212B (zh) | 2018-09-13 | 2018-09-13 | Nginx路由配置信息更新方法及系统、可读存储介质和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811066443.5A CN109379212B (zh) | 2018-09-13 | 2018-09-13 | Nginx路由配置信息更新方法及系统、可读存储介质和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109379212A CN109379212A (zh) | 2019-02-22 |
CN109379212B true CN109379212B (zh) | 2022-04-29 |
Family
ID=65405236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811066443.5A Active CN109379212B (zh) | 2018-09-13 | 2018-09-13 | Nginx路由配置信息更新方法及系统、可读存储介质和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109379212B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389252B (zh) * | 2023-03-30 | 2024-01-02 | 安超云软件有限公司 | 容器网络的更新方法、装置、系统、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426023A (zh) * | 2017-07-21 | 2017-12-01 | 携程旅游信息技术(上海)有限公司 | 云平台日志收集和转发方法、系统、设备及存储介质 |
CN108039975A (zh) * | 2017-12-21 | 2018-05-15 | 北京搜狐新媒体信息技术有限公司 | 容器集群管理系统及其应用方法 |
CN108063791A (zh) * | 2017-11-01 | 2018-05-22 | 千寻位置网络有限公司 | 基于动态路由的应用部署方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9772831B2 (en) * | 2010-04-26 | 2017-09-26 | Pivotal Software, Inc. | Droplet execution engine for dynamic server application deployment |
CN107070786B (zh) * | 2013-02-25 | 2020-07-14 | 华为技术有限公司 | 数据源移动的处理方法、转发报文的方法及其装置 |
-
2018
- 2018-09-13 CN CN201811066443.5A patent/CN109379212B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426023A (zh) * | 2017-07-21 | 2017-12-01 | 携程旅游信息技术(上海)有限公司 | 云平台日志收集和转发方法、系统、设备及存储介质 |
CN108063791A (zh) * | 2017-11-01 | 2018-05-22 | 千寻位置网络有限公司 | 基于动态路由的应用部署方法 |
CN108039975A (zh) * | 2017-12-21 | 2018-05-15 | 北京搜狐新媒体信息技术有限公司 | 容器集群管理系统及其应用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109379212A (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271417B (zh) | 一种基于数据库的轻量级消息队列实现方法及存储设备 | |
US11150896B2 (en) | Automated generation of service definitions for message queue application clients | |
US8375383B2 (en) | Rolling upgrades in distributed applications | |
CN106059825A (zh) | 一种分布式系统及配置方法 | |
US11228508B2 (en) | Virtual network function bus-based auto-registration | |
JP2016514299A (ja) | 連続イベント処理(cep)クエリの並列の実行 | |
US20120254155A1 (en) | Duplicate search optimization | |
CN109298948B (zh) | 分布式计算方法和系统 | |
CN108768790A (zh) | 分布式搜索集群监控方法及装置、计算设备、存储介质 | |
US10372572B1 (en) | Prediction model testing framework | |
CN112491609B (zh) | 基于业务服务的系统应用架构发现方法及系统 | |
CN109379212B (zh) | Nginx路由配置信息更新方法及系统、可读存储介质和终端 | |
CN107729213A (zh) | 一种后台任务监控方法及装置 | |
CN115695470A (zh) | 一种物联网平台与边缘网关的端云协同系统、方法及装置 | |
CN110784347A (zh) | 一种容器集群的节点管理方法、系统、设备及存储介质 | |
CN110365809B (zh) | 分布式服务器地址配置系统及方法 | |
CN105871659A (zh) | 新增服务器的监控方法及装置 | |
CN110020288A (zh) | 一种页面刷新方法及装置 | |
CN113867955A (zh) | 一种服务发现方法、装置、设备及存储介质 | |
CN112559001B (zh) | 更新应用的方法和装置 | |
CN108880849B (zh) | 属性信息的统计方法、装置及系统 | |
CN112434044A (zh) | 一种工业互联网平台监测数据传输交换方法和系统 | |
US20150242910A1 (en) | Methods for evaluating a network associated with an organization and devices thereof | |
CN113721577B (zh) | 面向多任务周期的数据交互方法和系统、设备及存储介质 | |
CN111756778A (zh) | 一种服务器磁盘清理脚本推送的方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |