CN115567385A - 一种配置参数的管理方法及装置 - Google Patents
一种配置参数的管理方法及装置 Download PDFInfo
- Publication number
- CN115567385A CN115567385A CN202211135694.0A CN202211135694A CN115567385A CN 115567385 A CN115567385 A CN 115567385A CN 202211135694 A CN202211135694 A CN 202211135694A CN 115567385 A CN115567385 A CN 115567385A
- Authority
- CN
- China
- Prior art keywords
- application node
- configuration parameters
- state
- instruction
- application
- 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.)
- Pending
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
-
- 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/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0846—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
-
- 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/0889—Techniques to speed-up the configuration process
-
- 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/0893—Assignment of logical groups to network elements
-
- 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/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种配置参数的管理方法及装置,包括:第一应用节点获取上传指令;响应于上传指令,向第二应用节点发送下载指令;下载指令用于指示第二应用节点切换至下载状态;第一应用节点切换至上传状态;在确定第一应用节点的配置参数更新完成后,将更新后的配置参数发送至第二应用节点,以指示第二应用节点加载更新后的配置参数。其中,第一应用节点为微服务架构中任一应用节点;第二应用节点为微服务架构中除第一应用节点之外的任一应用节点;下载状态表示第二应用节点允许加载配置参数;上传状态表示允许更新第一应用节点的配置参数。以此,轻量化微服务架构,减少微服务架构中各应用节点的运维工作量和复杂度,提升配置参数管理的效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种配置参数的管理方法及装置。
背景技术
由于互联网的发展逐渐迈向成熟,数据量越来越大,维护起来十分困难。因此现有技术使用微服务架构来提升数据的处理效率。微服务架构包括多个应用节点;应用节点用于将一个网络与另一个网络进行相互连通,根据自身加载的配置参数实现特定应用服务。可以实现数据的智能化管理,对数据技术或者信息化管理等技术带来管理优势。
目前,管理应用节点中加载的配置参数的方法一般包括以下两种方式。
一、微服务架构中各应用节点直接与数据库连接,通过数据库管理各应用节点中的配置参数。其中,微服务网关集群表示实现微服务的各应用网关的集合。
二、通过配置中心对微服务架构中的各应用节点的配置参数进行管理。其中,配置中心一方面与数据库连接,另一方面与各应用节点连接,通过zookeeper(分布式系统的可靠协调系统)实现配置参数的发布与订阅服务。
但是在上述方式中,各应用节点均需要与数据库或配置中心直接连接,使得数据库或配置中心对各应用节点的运维工作量繁琐,加重了运维工作的负担,影响了配置参数管理的效率。另外,应用节点的数量增多时易导致数据库或配置中心连接不稳定,出现服务中断等情况。
发明内容
本发明实施例提供一种配置参数的管理方法及装置,用于轻量化微服务架构,减少微服务架构中各应用节点的运维工作量和复杂度,提升配置参数管理的效率。
第一方面,本发明实施例提供一种配置参数的管理方法,包括:
第一应用节点获取上传指令;所述第一应用节点为微服务架构中任一应用节点;
所述第一应用节点响应于所述上传指令,向第二应用节点发送下载指令;所述下载指令用于指示所述第二应用节点切换至下载状态;所述下载状态表示所述第二应用节点允许加载配置参数;所述第二应用节点为所述微服务架构中除所述第一应用节点之外的任一应用节点;
所述第一应用节点切换至上传状态;所述上传状态表示允许更新所述第一应用节点的配置参数;
所述第一应用节点在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点,以指示所述第二应用节点加载更新后的配置参数。
上述技术方案中,微服务架构中的各应用节点不再与数据库或配置中心直接连接,而是由微服务架构中内部的各应用节点之间通信来实现配置参数的管理(如修改、增加、删除等参数管理),以此减少微服务架构对于外部组件系统(如数据库、配置中心等)的依赖,以此轻量化微服务架构,减少运维、维护工作的复杂度与工作量,提升微服务架构中配置参数管理的效率。
另外,微服务架构在开发时,不受资源和应用节点数量的限制,减少了开发工作量,以此提升微服务架构的开发效率。并且在对微服务架构中各应用节点的配置参数管理时,是先对微服务架构中任一应用节点(即第一应用节点)进行配置参数更新,再由该应用节点将更新后的配置参数分发至微服务架构中的其他应用节点(即第二应用节点),无须担心由于应用节点故障等情况导致配置参数无法更新的问题,提升了对配置参数管理的安全性。
可选的,第一应用节点获取上传指令之后,还包括:
所述第一应用节点判断自身是否为空闲状态;若是,则响应于所述上传指令;所述空闲状态表示应用节点允许响应指令;
否则不响应所述上传指令。
上述技术方案中,第一应用节点获取上传指令之后,会先判断自身是否为空闲状态;若是,则表示第一应用节点此时未进行其他进程,即未响应其他上传指令,因此可以响应本次的上传指令。否则表示第一应用节点此时正在响应其他上传指令,因此不允许响应本次的上传指令。以此保证配置参数管理的准确性和安全性。
可选的,所述下载指令还用于指示所述第二应用节点在切换至下载状态之后,对所述第二应用节点的配置参数添加读写锁;所述读写锁用于禁止对所述第二应用节点的配置参数进行写操作。
上述技术方案中,通过指示第二应用节点对自身的配置参数添加读写锁,以防止其他应用节点同时更新配置参数,以此保证对配置参数管理的准确性和安全性。
可选的,所述第一应用节点切换至上传状态之前,还包括:
所述第一应用节点接收所述第二应用节点基于所述下载指令反馈的响应结果;
所述第一应用节点根据所述响应结果确定是否切换至上传状态。
可选的,所述第一应用节点根据所述响应结果确定是否切换至上传状态,包括:
若所述响应结果为切换成功,则所述第一应用节点切换至上传状态;所述切换成功表示所述第二应用节点切换至下载状态;
若所述响应结果为切换失败,则所述第一应用节点不切换至上传状态;所述切换失败表示所述第二应用节点未切换至下载状态。
上述技术方案中,只有在第二应用节点切换至下载状态下,第一应用节点才会切换至上传状态,以此防止第二应用节点无法更新配置参数,以此保证对配置参数管理的准确性和安全性。
可选的,所述第一应用节点切换至上传状态之后,还包括:
所述第一应用节点接收配置文件;
所述第一应用节点读取所述配置文件中的参数;
所述第一应用节点将所述配置文件中的参数加载至所述第一应用节点中的配置参数。
可选的,所述第一应用节点在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点之后,还包括:
所述第一应用节点接收所述第二应用节点基于更新后的配置参数反馈的加载结果;
所述第一应用节点在确定所述加载结果为加载成功时,向所述第二应用节点发送复位指令,以指示所述第二应用节点切换至空闲状态。
第二方面,本发明实施例提供一种配置参数的管理装置,包括:
获取模块,用于获取上传指令;
处理模块,用于响应于所述上传指令,向第二应用节点发送下载指令;所述下载指令用于指示所述第二应用节点切换至下载状态;所述下载状态表示所述第二应用节点允许加载配置参数;所述第二应用节点为所述微服务架构中除第一应用节点之外的任一应用节点;所述第一应用节点为微服务架构中任一应用节点;
将所述第一应用节点切换至上传状态;所述上传状态表示允许更新所述第一应用节点的配置参数;
在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点,以指示所述第二应用节点加载更新后的配置参数。
可选的,所述处理模块还用于:
获取上传指令之后,判断所述第一应用节点是否为空闲状态;若是,则响应于所述上传指令;所述空闲状态表示应用节点允许响应指令;
否则不响应所述上传指令。
可选的,所述下载指令还用于指示所述第二应用节点在切换至下载状态之后,对所述第二应用节点的配置参数添加读写锁;所述读写锁用于禁止对所述第二应用节点的配置参数进行写操作。
可选的,所述处理模块还用于:
将所述第一应用节点切换至上传状态之前,接收所述第二应用节点基于所述下载指令反馈的响应结果;
根据所述响应结果确定是否将所述第一应用节点切换至上传状态。
可选的,所述处理模块具体用于:
若所述响应结果为切换成功,则将所述第一应用节点切换至上传状态;所述切换成功表示所述第二应用节点切换至下载状态;
若所述响应结果为切换失败,则不将所述第一应用节点切换至上传状态;所述切换失败表示所述第二应用节点未切换至下载状态。
可选的,所述处理模块还用于:
将所述第一应用节点切换至上传状态之后,接收配置文件;
读取所述配置文件中的参数;
将所述配置文件中的参数加载至所述第一应用节点中的配置参数。
可选的,所述处理模块还用于:
在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点之后,接收所述第二应用节点基于更新后的配置参数反馈的加载结果;
在确定所述加载结果为加载成功时,向所述第二应用节点发送复位指令,以指示所述第二应用节点切换至空闲状态。
第三方面,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述配置参数的管理方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述配置参数的管理方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种配置参数管理的示意图;
图2为本发明实施例提供的一种配置参数管理的示意图;
图3为本发明实施例提供的一种微服务架构示意图;
图4为本发明实施例提供的一种配置参数的管理方法的流程示意图;
图5为本发明实施例提供的一种配置参数的管理示意图;
图6为本发明实施例提供的一种配置参数的管理示意图;
图7为本发明实施例提供的一种配置参数的管理示意图;
图8为本发明实施例提供的一种配置参数的管理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在微服务架构中,应用节点支持权限控制、分流、限流、中心切换等核心前置功能。现有应用节点的配置参数一般是通过数据库、集中式的配置中心来获取。需要说明的是,同一微服务架构中的各应用节点对应的应用服务功能是相同的。
图1为本发明实施例示例性示出的一种配置参数管理的示意图,如图1所示,微服务架构中的各个应用节点与数据库直接连接。在维护配置参数的过程中,运维人员直接修改数据库中的数据,然后通过调用各应用节点提供的参数接口,通知各应用节点读取数据库中修改后的数据,以此实现各应用节点中配置参数的更新。
其中,应用节点的数量为n,在此不对应用节点的数量进行限定。
图2为本发明实施例示例性示出的一种配置参数管理的示意图,如图2所示,配置中心读写数据库(或者缓存服务器)。配置中心向zookeeper注册配置中心的实例信息,并订阅各应用节点实例信息。各应用节点向zookeeper注册自身的实例信息,并订阅配置中心的实例信息。各应用节点支持主动向配置中心下载配置参数。配置中心支持主动向各应用节点推送更新后的配置参数。
也就是说,运维人员会在数据库中更新配置参数,然后由配置中心从数据库中读取更新后的配置参数,并通过zookeeper的发布与订阅服务,将更新后的配置参数推送至各应用节点。
基于上述描述,图1的技术方案中,各应用节点直连数据库获取配置参数。运维人员在更新数据库中的配置参数后,为了实时生效新参数(即更新后的配置参数),需要依次向各应用节点发送更新命令,以使各应用节点从数据库加载新参数。然而,当微服务架构中的应用节点数量增加时,逐台操作应用节点的运维工作就变得更加繁琐,增重了运维工作的负担;且在运维工作中容易出现加载错误的情况,影响了配置参数管理的准确性。
另外,数据库作为配置持久化的载体以及数据源,需要与微服务架构中的各应用节点建立链接。当应用节点的数量增加时,会导致数据库与应用节点之间的链接不稳定。当数据库发生故障时,应用节点从数据库中读取配置参数的安全性得不到保障,影响了配置参数管理的安全性。
图2的技术方案中,配置中心一般集成了zookeeper、数据库、缓存等配套组件,使得微服务架构进一步复杂化。各应用节点是否能够稳定获取配置参数也取决于这些组件的高可用性。若配置中心其中的某一个组件发生故障,整套配置中心便无法正常工作,影响了配置参数管理的安全性。
因此,现亟需一种配置参数的管理方法,实现微服务架构的轻量化,减少微服务架构中各应用节点的运维工作量和复杂度,提升配置参数管理的效率。
图3示例性的示出了本发明实施例所适用的一种微服务架构,该微服务架构包括应用节点A、应用节点B和应用节点C。需要说明的是,本发明实施例的微服务架构中以3个应用节点为例,但不对应用节点的数量进行限定。
其中,应用节点A作为第一应用节点,包括管理模块A1、加载模块A2和通信模块A3。应用节点B和应用节点C作为第二应用节点;应用节点B包括管理模块B1、加载模块B2和通信模块B3;应用节点C包括管理模块C1、加载模块C2和通信模块C3。
在本发明实施例中,应用节点的管理模块在运行过程中包括三种状态,分别为“空闲状态”、“下载状态”和“上传状态”。其中,只有第一应用节点会切换上传状态,只有第二应用节点会切换下载状态。上传状态表示更新第一应用节点的配置参数;下载状态表示第二应用节点允许加载配置参数;空闲状态表示应用节点允许响应指令。
基于图3进行阐述,管理模块A1用于获取上传指令,然后检测自身的状态是否为空闲状态。若是,则通过通信模块A3向应用节点B和应用节点C发送下载指令。
应用节点B和应用节点C分别通过自身的通信模块B3、通信模块C3接收下载指令,然后响应于下载指令,将自身的状态切换为下载状态,并将切换结果反馈至应用节点A。
应用节点A在接收到切换结果之后,若确定切换结果为切换成功,则将自身的状态切换为上传状态。此时,允许运维人员通过管理模块A1更新应用节点A中的配置参数。例如,运维人员在管理模块A1中加载配置文件。
应用节点A的加载模块A2读取配置文件中的参数,然后将配置文件中的参数加载至第一应用节点中的配置参数,实现对配置参数的更新。
应用节点A更新配置参数之后,通过通信模块A3向应用节点B和应用节点C发送更新后的配置参数。以使应用节点B和应用节点C在得到更新后的配置参数之后,分别调用自身的加载模块B2、加载模块C2将更新后的配置参数加载至自身的配置参数中,以此实现微服务架构中各应用节点的配置参数更新。
需要说明的是,上述图3所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图4示例性的示出了本发明实施例提供的一种配置参数的管理方法的流程示意图,该流程可由配置参数的管理装置执行。
如图4所示,该流程具体包括:
步骤410,第一应用节点获取上传指令。
本发明实施例中,第一应用节点为微服务架构中任一应用节点;上传指令是运维人员在第一应用节点上触发的,表示需要对微服务架构中各应用节点的配置参数进行管理。如表示对微服务架构中各应用节点的配置参数进行更新。
步骤420,所述第一应用节点响应于所述上传指令,向第二应用节点发送下载指令。
本发明实施例中,下载指令用于指示第二应用节点切换至下载状态;下载状态表示第二应用节点允许加载配置参数;第二应用节点为微服务架构中除第一应用节点之外的任一应用节点。
步骤430,所述第一应用节点切换至上传状态。
本发明实施例中,上传状态表示允许更新第一应用节点的配置参数。第一应用节点是在确定出第二应用节点切换至下载状态之后,将自身的状态切换至上传状态,以表示可以进行配置参数的管理。
步骤440,所述第一应用节点在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点,以指示所述第二应用节点加载更新后的配置参数。
本发明实施例中,由第一应用节点将更新后的配置参数分发至第二应用节点。在一些实施例中,可以由第二应用节点在第一应用节点中读取并加载更新后的配置参数。
在步骤410中,第一应用节点获取上传指令之后,第一应用节点判断自身是否为空闲状态;若是,则响应于上传指令;空闲状态表示应用节点允许响应指令;否则不响应上传指令。
基于上述图3进行举例,应用节点A作为第一应用节点,运维人员向应用节点A发送上传指令,表示需要更新微服务架构中各应用节点的配置参数。为了保证配置参数管理的准确性、一致性和安全性,应用节点A先检测自身是否处于空闲状态(即先检测自身是否在处理历史上传指令),得到检测结果。
其中,检测结果包括应用节点A处于空闲状态,则表示应用节点A目前未处理其他上传指令,可以响应本次的上传指令。检测结果还包括应用节点A未处于空闲状态,则表示应用节点A目前正在处理其他上传指令,因此不响应本次的上传指令。
应用节点A在得到检测结果之后,会将检测结果反馈至前端,以使运维人员进行监测。
在步骤420中,第一应用节点在响应上传指令之后,向第二应用节点发送下载指令。基于上述图3进行举例,应用节点A响应上传指令之后,向应用节点B和应用节点C发送下载指令。
第二应用节点在接收下载指令之后,为了保证配置参数管理的准确性、一致性和安全性,第二应用节点先检测自身是否处于空闲状态(即先检测自身是否在处理历史下载指令)。
第二应用节点若确定自身处于空闲状态,则表示第二应用节点目前未处理其他下载指令,可以响应本次的下载指令。第二应用节点若确定自身未处于空闲状态,则表示第二应用节点目前正在处理其他下载指令,不响应本次的下载指令。
在一种可实施的方式中,第二应用节点在接收下载指令之后,对自身的配置参数添加读写锁;其中,读写锁用于禁止对第二应用节点的配置参数进行写操作。例如,读写锁为RWMutex。
在另一种可实施的方式中,第二应用节点在接收下载指令之后,对自身的配置参数添加互斥锁(如mutual exclusion),用于禁止对第二应用节点的配置参数进行写操作。
在本发明实施例中,第二应用节点在接收下载指令之后,也可以对自身的配置参数添加其他类型的锁,在此不做具体限定。
在步骤430,第二应用节点将自身的状态切换后,向第一应用节点发送切换状态的响应结果。其中,响应结果包括切换成功和切换失败;切换成功表示第二应用节点切换至下载状态;切换失败表示第二应用节点未切换至下载状态。
第一应用节点在得到响应结果之后,若确定响应结果为切换成功,则第一应用节点切换至上传状态;若确定响应结果为切换失败,则第一应用节点不切换至上传状态。
第一应用节点在切换至上传状态之后,向前端发送切换结果,以使运维人员进行查询监测。
第一应用节点切换至上传状态之后,接收运维人员发送的配置文件。然后第一应用节点读取配置文件中的参数,将配置文件中的参数加载至第一应用节点中的配置参数,实现第一应用节点中配置参数的更新。
在一种可实施的方式中,配置文件中包括命令参数。第一应用节点的加载模块会根据命令参数索引到自身的配置文件,并读取自身本地的配置文件,然后检测接收的配置文件(如检测接收的配置文件的文件格式与自身本地的配置文件的文件格式是否一致;文件格式可以包括json、properties等格式)。
若检测出配置文件格式报错等错误,则向前端反馈异常信息,以使运维人员进行检查,并在检查无误后重新发送上传指令。
若检测出配置文件格式正确,则第一应用节点解析接收的配置文件,得到接收的配置文件中的参数,然后将该参数加载至自身本地的配置文件(如Java内存),实现配置参数的更新。
在步骤440中,第一应用节点在更新配置参数之后,通知第二应用节点,以使第二应用节点实现配置参数的更新。
在一种可实施的方式中,第一应用节点在更新配置参数之后,将更新后的配置参数发送至第二应用节点,以使第二应用节点调用自身的加载模块,将更新后的参数加载至自身本地的配置文件中,实现第二应用节点的配置参数更新。
在另一种可实施的方式中,第一应用节点在更新配置参数之后,向第二应用节点发送加载指令,以使第二应用节点在响应加载指令之后,从第一应用节点中读取并获取更新后的配置参数,从而实现第二应用节点的配置参数更新。
在本发明实施例中,第二应用节点更新配置参数之后,会向第一应用节点反馈加载结果或更新结果。第一应用节点接收第二应用节点基于更新后的配置参数反馈的加载结果;在确定加载结果为加载成功时,向第二应用节点发送复位指令,以指示第二应用节点切换至空闲状态。以便于执行下一上传指令。
基于上述技术方案,减少了微服务架构对于外部组件或系统的依赖,从而使微服务架构轻量化。运维人员也不再需要额外微服务架构部署数据库或配置中心,也不用实现各应用节点与外部组件或系统之间的网络通信,节约了部署资源成本,减少了运维复杂度和运维成本。且应用节点只需要集成开发组件即可实现配置参数的分布式管理及分发,无需额外设计数据库表结构、开发SQL增删修查逻辑,降低开发成本和开发难度。
另外,本发明实施例只需要通过对微服务架构中任一应用节点中的配置参数进行管理,根据微服务架构中各应用节点之间的通信接口即可实现配置参数的分布式分发,减少了运维工作的复杂度与工作量。当第一应用节点出现故障时,可以使用其他节点作为第一应用节点管理配置参数,并同步至微服务架构中的其他应用节点,避免由于某一应用节点故障导致配置参数无法有效管理的问题,提升了配置参数管理的灵活性。
在本发明实施例中,第一应用节点与第二应用节点之间的通信方式可以为HTTP(Hyper Text Transfer Protocol,超文本传输协议)网络通信等方式,在此不作具体限定。
基于上述图3进行举例,微服务架构中各应用节点的通信模块预设有HTTP网络通信方式,各应用节点之间预设有不同指令对应的传输接口(如API接口等),用于实现各应用节点之间的通信。
为了更好的解释上述技术方案,基于上述图3,图5示例性示出了一种配置参数的管理示意图,如图5所示,包括:
微服务架构中包括应用节点A、应用节点B和应用节点C。以应用节点A作为第一应用节点管理配置参数。应用节点B和应用节点C作为第二应用节点,用于同步应用节点A更新后的配置参数。
运维人员对应用节点A发起上传指令(如上传指令为“GET/statusSync?f ile=config.json”),表示对应用节点中“config.json”配置文件中的参数进行更新。
应用节点A收到上传指令后,向应用节点B和应用节点C发起状态同步请求(即向应用节点B和应用节点C发送下载指令)。应用节点B和应用节点C接收下载指令之后,对自身本地的“config.json”配置文件添加读写锁,以此占用写权限,防止其他进程同时写入该配置文件。
应用节点B和应用节点C对配置文件权限占用成功后,将状态从“空闲状态”切换为“下载状态”。并向应用节点A反馈响应结果。
应用节点A确定应用节点B和应用节点C将状态从“空闲状态”切换为“下载状态”后,将自身的状态从“空闲状态”切换为“上传状态”。
基于上述图5,图6示例性示出了一种配置参数的管理示意图,如图6所示,包括:
运维人员修改应用节点A的“config.json”配置文件参数并完成保存,以此实现对应用节点A的配置参数进行更新。配置文件保存完毕后,由运维人员在应用节点A发起“配置上传”命令,相当于向应用节点A发送配置文件。
应用节点A读取“config.json”配置文件内容并进行格式检查。在格式检查通过后,向应用节点B和应用节点C发起“参数同步”请求,以指示应用节点B和应用节点C将自身本地的“config.json”配置文件进行更新同步。
基于上述图6,图7示例性示出了一种配置参数的管理示意图,如图7所示,包括:
应用节点A接收应用节点B和应用节点C基于“配置同步”请求反馈的加载结果后,若确定加载结果成功,则表示应用节点B和应用节点C的配置参数同步成功。然后应用节点A向应用节点B和应用节点C发送复位指令。
应用节点B和应用节点C在接收到复位指令之后,解除对配置文件的写权限占用,然后将状态由“下载状态”切换为“空闲状态”。并向应用节点A反馈复位结果。
应用节点A在确定应用节点B和应用节点C的状态由“下载状态”切换为“空闲状态”之后,将自身的状态由“上传状态”切换为“空闲状态”,并向前端运维返回管理结果,如成功应答。
至此,微服务架构中各应用节点的配置参数更新完成,且各应用节点的状态均恢复为“空闲状态”,以等待下一次配置参数管理。
基于相同的技术构思,图8示例性的示出了本发明实施例提供的一种配置参数的管理装置的结构示意图,该装置可以执行配置参数的管理方法的流程。
如图8所示,该装置具体包括:
获取模块810,用于获取上传指令;
处理模块820,用于响应于所述上传指令,向第二应用节点发送下载指令;所述下载指令用于指示所述第二应用节点切换至下载状态;所述下载状态表示所述第二应用节点允许加载配置参数;所述第二应用节点为所述微服务架构中除第一应用节点之外的任一应用节点;所述第一应用节点为微服务架构中任一应用节点;
将所述第一应用节点切换至上传状态;所述上传状态表示允许更新所述第一应用节点的配置参数;
在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点,以指示所述第二应用节点加载更新后的配置参数。
可选的,所述处理模块820还用于:
获取上传指令之后,判断所述第一应用节点是否为空闲状态;若是,则响应于所述上传指令;所述空闲状态表示应用节点允许响应指令;
否则不响应所述上传指令。
可选的,所述下载指令还用于指示所述第二应用节点在切换至下载状态之后,对所述第二应用节点的配置参数添加读写锁;所述读写锁用于禁止对所述第二应用节点的配置参数进行写操作。
可选的,所述处理模块820还用于:
将所述第一应用节点切换至上传状态之前,接收所述第二应用节点基于所述下载指令反馈的响应结果;
根据所述响应结果确定是否将所述第一应用节点切换至上传状态。
可选的,所述处理模块820具体用于:
若所述响应结果为切换成功,则将所述第一应用节点切换至上传状态;所述切换成功表示所述第二应用节点切换至下载状态;
若所述响应结果为切换失败,则不将所述第一应用节点切换至上传状态;所述切换失败表示所述第二应用节点未切换至下载状态。
可选的,所述处理模块820还用于:
将所述第一应用节点切换至上传状态之后,接收配置文件;
读取所述配置文件中的参数;
将所述配置文件中的参数加载至所述第一应用节点中的配置参数。
可选的,所述处理模块820还用于:
在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点之后,接收所述第二应用节点基于更新后的配置参数反馈的加载结果;
在确定所述加载结果为加载成功时,向所述第二应用节点发送复位指令,以指示所述第二应用节点切换至空闲状态。
基于相同的技术构思,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述配置参数的管理方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述配置参数的管理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种配置参数的管理方法,其特征在于,包括:
第一应用节点获取上传指令;所述第一应用节点为微服务架构中任一应用节点;
所述第一应用节点响应于所述上传指令,向第二应用节点发送下载指令;所述下载指令用于指示所述第二应用节点切换至下载状态;所述下载状态表示所述第二应用节点允许加载配置参数;所述第二应用节点为所述微服务架构中除所述第一应用节点之外的任一应用节点;
所述第一应用节点切换至上传状态;所述上传状态表示允许更新所述第一应用节点的配置参数;
所述第一应用节点在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点,以指示所述第二应用节点加载更新后的配置参数。
2.如权利要求1所述的方法,其特征在于,第一应用节点获取上传指令之后,还包括:
所述第一应用节点判断自身是否为空闲状态;若是,则响应于所述上传指令;所述空闲状态表示应用节点允许响应指令;
否则不响应所述上传指令。
3.如权利要求1所述的方法,其特征在于,所述下载指令还用于指示所述第二应用节点在切换至下载状态之后,对所述第二应用节点的配置参数添加读写锁;所述读写锁用于禁止对所述第二应用节点的配置参数进行写操作。
4.如权利要求1所述的方法,其特征在于,所述第一应用节点切换至上传状态之前,还包括:
所述第一应用节点接收所述第二应用节点基于所述下载指令反馈的响应结果;
所述第一应用节点根据所述响应结果确定是否切换至上传状态。
5.如权利要求4所述的方法,其特征在于,所述第一应用节点根据所述响应结果确定是否切换至上传状态,包括:
若所述响应结果为切换成功,则所述第一应用节点切换至上传状态;所述切换成功表示所述第二应用节点切换至下载状态;
若所述响应结果为切换失败,则所述第一应用节点不切换至上传状态;所述切换失败表示所述第二应用节点未切换至下载状态。
6.如权利要求1所述的方法,其特征在于,所述第一应用节点切换至上传状态之后,还包括:
所述第一应用节点接收配置文件;
所述第一应用节点读取所述配置文件中的参数;
所述第一应用节点将所述配置文件中的参数加载至所述第一应用节点中的配置参数。
7.如权利要求1所述的方法,其特征在于,所述第一应用节点在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点之后,还包括:
所述第一应用节点接收所述第二应用节点基于更新后的配置参数反馈的加载结果;
所述第一应用节点在确定所述加载结果为加载成功时,向所述第二应用节点发送复位指令,以指示所述第二应用节点切换至空闲状态。
8.一种配置参数的管理装置,其特征在于,包括:
获取模块,用于获取上传指令;
处理模块,用于响应于所述上传指令,向第二应用节点发送下载指令;所述下载指令用于指示所述第二应用节点切换至下载状态;所述下载状态表示所述第二应用节点允许加载配置参数;所述第二应用节点为所述微服务架构中除第一应用节点之外的任一应用节点;所述第一应用节点为微服务架构中任一应用节点;
将所述第一应用节点切换至上传状态;所述上传状态表示允许更新所述第一应用节点的配置参数;
在确定所述第一应用节点的配置参数更新完成后,将更新后的配置参数发送至所述第二应用节点,以指示所述第二应用节点加载更新后的配置参数。
9.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211135694.0A CN115567385A (zh) | 2022-09-19 | 2022-09-19 | 一种配置参数的管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211135694.0A CN115567385A (zh) | 2022-09-19 | 2022-09-19 | 一种配置参数的管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115567385A true CN115567385A (zh) | 2023-01-03 |
Family
ID=84741725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211135694.0A Pending CN115567385A (zh) | 2022-09-19 | 2022-09-19 | 一种配置参数的管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115567385A (zh) |
-
2022
- 2022-09-19 CN CN202211135694.0A patent/CN115567385A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347675B (zh) | 服务器配置方法、装置以及电子设备 | |
CN107465767B (zh) | 一种数据同步的方法和系统 | |
CN112000448A (zh) | 基于微服务架构的应用管理方法 | |
CN113067850B (zh) | 一种多云场景下的集群编排系统 | |
CN106909411B (zh) | 一种文件更新方法及装置 | |
US9529582B2 (en) | Modular architecture for distributed system management | |
CN109656725B (zh) | 消息消费者切换方法、装置、存储介质及电子设备 | |
CN103383689A (zh) | 一种服务进程故障检测方法、装置及服务节点 | |
CN111045745A (zh) | 管理配置信息的方法和系统 | |
CN112910937B (zh) | 容器集群中的对象调度方法、装置、服务器和容器集群 | |
WO2021057605A1 (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
WO2019024679A1 (zh) | 网络功能的升级方法及升级管理实体 | |
CN106230622B (zh) | 一种集群实现方法及装置 | |
CN114900449B (zh) | 一种资源信息管理方法、系统及装置 | |
CN111736809A (zh) | 分布式机器人集群网络管理框架及其实现方法 | |
CN111737028B (zh) | Dubbo服务检测方法及装置 | |
CN106897128B (zh) | 一种分布式应用退出方法、系统以及服务器 | |
CN115567385A (zh) | 一种配置参数的管理方法及装置 | |
CN115102999A (zh) | DevOps系统、服务提供方法、存储介质和电子装置 | |
CN112714035A (zh) | 监控方法及系统 | |
CN113515458A (zh) | 一种基于Envoy插件来降低测试环境资源消耗的方法及系统 | |
CN116800604B (zh) | 可配置的激光通信设备控制方法、装置、设备及介质 | |
CN111221587A (zh) | 配置中心的管理调度方法及装置 | |
CN110633164B (zh) | 一种面向消息的中间件故障恢复方法及装置 | |
CN117076007B (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 |