CN111562950A - 一种分布式应用参数动态发布的系统及方法 - Google Patents
一种分布式应用参数动态发布的系统及方法 Download PDFInfo
- Publication number
- CN111562950A CN111562950A CN202010347930.XA CN202010347930A CN111562950A CN 111562950 A CN111562950 A CN 111562950A CN 202010347930 A CN202010347930 A CN 202010347930A CN 111562950 A CN111562950 A CN 111562950A
- Authority
- CN
- China
- Prior art keywords
- parameters
- configuration
- configuration item
- nacos
- publishing
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种分布式应用参数动态发布的系统及方法,其中,该系统包括:登录请求接收模块,用于接收管理员发起的登录请求;参数获取模块,用于根据登录请求验证管理员身份,验证通过后,获取管理员在Nacos配置中心界面输入的配置项参数;Nacos配置中心模块,用于通过Nacos配置中心将配置项参数进行发布,发布通知到服务器节点;在服务器节点接收到配置项参数后,更新服务器节点本地内存。该系统及方法可以实现分布式环境下应用参数的动态实时发布,并使配置参数在下发后全局同步生效,并且该系统及方法采用的动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷,以满足运维运维需求。
Description
技术领域
本发明涉及数据处理技术领域,尤指一种分布式应用参数动态发布的系统及方法。
背景技术
在现有技术中,传统应用架构下的服务节点较少,参数规模可控,通过配置文件就可以进行管理,参数生效基本通过应用重启或者定时加载完成;但是,随着分布式系统的发展,业务和功能越来越复杂化,现有的处理方式已经无法满足运维需求。
具体的,重启应用及定时加载方式的处理过程为:
重启应用:在这种方式下,参数只在应用启动时加载一次,变更参数必须重启应用才能重新加载;这种方式会导致服务中断,影响客户体验;而且在集群环境下,重启应用会导致使用新参数的应用和旧参数的应用表现不一致;其次,重启应用的方式增加了运维人员的干预过程。
定时加载方式:在这种方式下,参数维护在外部系统,如数据库;应用定时周期性的从数据库中加载参数;这种方式会导致应用需要开启定时任务,使用轮询方式检查参数是否更新,如果更新则进行加载,由于应用端并不知道参数是否更新,需要逐个检查,因此性能较差,并且参数不能实时生效。
以上两种方式在传统架构下还可以应用,但在分布式架构下,服务节点数成规模增长,应用的参数越来越多,参数的统一管理和变更同步变得越来越困难,传统重启应用或者定时加载的方式已经无法满足运维需求。
综上来看,亟需一种可以实现分布式环境下应用参数的动态实时发布的方案。
发明内容
为解决上述问题,本发明提出了一种分布式应用参数动态发布的系统及方法,用以实现分布式环境下应用参数的动态实时发布,并使配置参数在下发后全局同步生效,克服传统重启应用或定时加载方式的配置无法同时生效,而导致的客户体验差异的问题,该系统及方法采用的动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷,以满足运维运维需求。
在本发明一实施例中,提出了一种分布式应用参数动态发布的系统,该系统包括:
登录请求接收模块,用于接收管理员发起的登录请求;
参数获取模块,用于根据所述登录请求验证所述管理员身份,验证通过后,获取所述管理员在Nacos配置中心界面输入的配置项参数;
Nacos配置中心模块,用于通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点;在所述服务器节点接收到所述配置项参数后,更新所述服务器节点本地内存。
在本发明另一实施例中,还提出了一种分布式应用参数动态发布的方法,该方法包括:
接收管理员发起的登录请求;
根据所述登录请求验证所述管理员身份,验证通过后,获取所述管理员在Nacos配置中心界面输入的配置项参数;
通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点;在所述服务器节点接收到所述配置项参数后,更新所述服务器节点的本地内存。
在本发明另一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现分布式应用参数动态发布的方法。
在本发明另一实施例中,还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现分布式应用参数动态发布的方法。
本发明提出的分布式应用参数动态发布的系统及方法可以实现分布式环境下应用参数的动态实时发布,并使配置参数在下发后全局同步生效,克服传统重启应用或定时加载方式的配置无法同时生效而导致的客户体验差异的问题,该系统及方法采用的动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷,以满足运维运维需求。
附图说明
图1是本发明一实施例的分布式应用参数动态发布的系统架构示意图。
图2是本发明一具体实施例的Nacos配置中心模块的架构示意图。
图3是本发明另一实施例的分布式应用参数动态发布的系统架构示意图。
图4是本发明一具体实施例的参数发布单元的详细架构示意图。
图5是本发明一实施例的分布式应用参数动态发布的方法流程示意图。
图6是本发明一具体实施例的参数动态发布详细流程示意图。
图7是本发明一具体实施例的启动事件发布程序进行参数发布的详细流程示意图。
图8是本发明一具体实施例的设置依赖关系的示意图。
图9是本发明一具体实施例的Nacos.xml文件的内容示意图。
图10是本发明一具体实施例的Nacos管理端界面示意图。
图11是本发明一具体实施例的动态参数发布程序示意图。
图12是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种分布式应用参数动态发布的系统及方法。
在本发明中,涉及的术语有:
Nacos:一种开源产品,作为分布式配置中心可以帮助分布式应用实现动态服务发现、服务配置、服务元数据及流量管理。
Spring框架:一种开源框架,为了解决软件开发的复杂性而创建的。Spring框架可以用于服务器端的开发,具有简单性、可测试性和松耦合性。
Group:Nacos客户端的配置参数的分组,是应用自定义的配置参数分类,如,业务类参数、系统类参数、数据库类参数等。
Data-id:一个具体的配置项,如,数据库连接参数。其中,Group和Data-id可以认为是配置项的主键,通过它们可以明确定位一个配置项;应用程序加载和Nacos管理端发布都必须使用Group和Data-id确定唯一的配置项。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的分布式应用参数动态发布的系统架构示意图。如图1所示,分布式应用参数动态发布的系统100包括:
登录请求接收模块110,用于接收管理员200发起的登录请求;
参数获取模块120,用于根据所述登录请求验证所述管理员身份,验证通过后,获取所述管理员在Nacos配置中心界面输入的配置项参数;
Nacos配置中心模块130,用于通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点300;
在所述服务器节点300接收到所述配置项参数后,更新所述服务器节点300本地内存,更新完成后配置项参数即可生效。
为了对上述分布式应用参数动态发布的系统进行更为清楚的解释,下面结合具体的实施例来进行说明。
在一具体实施例中,所述配置项参数包括:配置项分组(group)及配置项ID(data-id);其中,所述配置项分组至少包括:业务类参数组、系统类参数组及数据库类参数组在内的一个分组或多个分组;配置项分组还可以包括其它类型的分组方式,对此本发明并不进行严格限定,具体设置可以根据实际情况而调整。
在一具体实施例中,结合图2,为本发明一具体实施例的Nacos配置中心模块的架构示意图。如图2所示,所述Nacos配置中心模块130还包括:
依赖关系设置单元131,用于应用pom.xml文件增加依赖关系;
Nacos配置管理单元132,用于根据所述依赖关系配置Nacos.xml文件,在所述Nacos.xml文件中设置配置项分组及配置项ID;
参数发布单元133,用于在Spring框架的应用程序环境启动过程中,调用事件发布的应用程序接口,将参数动态发布到服务器节点。
进一步的,结合图3,为本发明另一实施例的分布式应用参数动态发布的系统架构示意图。如图3所示,该系统还包括:
框架设置模块140,用于根据所述依赖关系设置Spring框架。
在一具体实施例中,结合图4,为本发明一具体实施例的参数发布单元的详细架构示意图。如图4所示,参数发布单元133包括:
应用程序环境启动子单元1331,用于在所述Spring框架启动应用程序环境;
接口调用子单元1332,用于在启动过程中,调用事件发布的应用程序接口,启动事件发布程序;
参数发布子单元1333,用于执行事件发布程序,将所述配置项参数进行发布,发布通知到服务器节点。
进一步,再参考图3,该系统还包括:回滚模块150,用于在所述配置项参数发布后,根据所述管理员的回滚操作指令,将事件执行程序回退到一历史版本下。回退操作是属于善后步骤;当参数发布后,发布出现问题或导致应用无法正常服务时,管理员可以选择会退到历史的某个版本,避免参数被覆盖后无法回退。
本发明提出的分布式应用参数动态发布的系统,相较于传统的参数发布方案,至少存在以下优点:
1、动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷,以满足运维需求。
2、实现了配置参数一点下发,全局同步生效,解决了传统重启应用或定时加载方式的配置无法同时生效,而导致的客户体验差异的问题。
3、解决了同一软件产品在多批次多环境下需要搭建多个配置库的问题,让开发、内测、功能测试复用一套硬件和软件环境,大幅提高资源利用率。
4、动态配置服务以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置;配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易;对应用透明,应用端无需了解参数发布和订阅的底层实现机制。
应当注意,尽管在上文详细描述中提及了分布式应用参数动态发布的系统的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
在介绍了本发明示例性实施方式的方法之后,接下来,参考图5对本发明示例性实施方式的分布式应用参数动态发布的方法进行介绍。
分布式应用参数动态发布的方法的实施可以参见上述系统的实施,重复之处不再赘述。基于同一发明构思,本发明还提出了一种分布式应用参数动态发布的方法,如图5所示,该方法包括:
步骤S510,接收管理员发起的登录请求;
步骤S520,根据所述登录请求验证所述管理员身份,验证通过后,获取所述管理员在Nacos配置中心界面输入的配置项参数;
步骤S530,通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点;在所述服务器节点接收到所述配置项参数后,更新所述服务器节点的本地内存。
进一步的,在配置项参数发布后,结合图5所示,该方法还包括:
步骤S540,在所述配置项参数发布后,根据所述管理员的回滚操作指令,将事件执行程序回退到一历史版本下。
在一实施例中,所述配置项参数包括:配置项分组及配置项ID;其中,所述配置项分组至少包括:业务类参数组、系统类参数组及数据库类参数组在内的一个分组或多个分组。
在一具体实施例中,参考图6,为本发明一具体实施例的参数动态发布详细流程示意图。如图6所示,步骤S530的具体处理过程包括:
步骤S531,应用pom.xml文件增加依赖关系;
步骤S532,根据所述依赖关系设置Spring框架;
步骤S533,根据所述依赖关系配置Nacos.xml文件,在所述Nacos.xml文件中设置配置项分组及配置项ID;
步骤S534,在Spring框架的应用程序环境启动过程中,调用事件发布的应用程序接口,将参数动态发布到服务器节点。
在一具体实施例中,参考图7,为本发明一具体实施例的启动事件发布程序进行参数发布的详细流程示意图。如图7所示,步骤S534的具体处理过程包括:
步骤S5341,在所述Spring框架启动应用程序环境;
步骤S5342,在启动过程中,调用事件发布的应用程序接口,启动事件发布程序;
步骤S5343,执行所述事件发布程序,将所述配置项参数进行发布,发布通知到服务器节点。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述分布式应用参数动态发布的系统及方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
为部署分布式应用参数动态发布的系统,实施分布式应用参数动态发布的方法,技术人员需要做以下工作:
1、环境准备:
Nacos依赖Java环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置Maven环境:
64bit OS,支持Linux/Unix/Mac/Windows,推荐选用Linux/Unix/Mac。
64bit JDK 1.8+。
Maven 3.2.x+。
2、下载源码或者安装包:
通过源码和发行包两种方式来获取Nacos;如,从Github上下载源码方式。下载编译后压缩包方式,下载nacos-server-$version.zip包。
3、启动服务器:
在Linux/Unix/Mac系统下,启动命令(standalone代表着单机模式运行,非集群模式)为:sh startup.sh-m standalone;
如果使用的是ubuntu系统,或者运行脚本报错提示符号找不到,可尝试如下运行:bash startup.sh-m standalone。
在Windows系统下,启动命令为:cmd startup.cmd;或者双击startup.cmd运行文件。
4、通过Nacos server和Nacos Spring配置管理模块,实现配置的动态变更:
4.1、如图8所示,应用pom.xml增加依赖(POM,Project Object Model,项目对象模型)。参考图8举例来看,在依赖关系中一个groupId下面可能多个项目,可以依靠artifactId来区分。
其中,“bfw-nacos-spring-context”是在开源nacos-spring-context基础上进行了bug修复的自主研发的组件。
4.2、如图9所示,增加Nacos.xml。参考图9举例来看,data-id和group-id对应Nacos管理端的配置参数项。
4.3、如图10所示的界面,在Nacos管理端增加配置参数,其中“Data ID”为provider,“Group”为demo(实际值为自定义),这样可以保持与Nacos.xml中的data-id和grou-id保持一致,输入完成后保存即可发布。
4.4、参数读取,分为动态参数、静态参数:
动态参数:如果参数需要动态发布,实时更新,需要使用“@NacosValue”注解定义参数。格式为:
@NacosValue(value="${param_key}",autoRefreshed=true);
如图11所示的动态参数发布程序示意图,动态参数在Nacos管理控制台修改发布后,实时生效。
普通参数:如果不需要动态发布,参数使用方式和Spring原生参数一致。可以通过xml文件或注解进行配置。静态参数只有在应用启动时,Bean初始化时才从Nacos配置中心中加载参数,因此修改静态参数,必须重启应用才能生效
基于前述发明构思,如图12所示,本发明还提出了一种计算机设备1200,包括存储器1210、处理器1220及存储在存储器1210上并可在处理器1220上运行的计算机程序1230,所述处理器1220执行所述计算机程序1230时实现前述分布式应用参数动态发布的方法。
基于前述发明构思,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述分布式应用参数动态发布的方法。
本发明提出的分布式应用参数动态发布的系统及方法可以实现分布式环境下应用参数的动态实时发布,并使配置参数在下发后全局同步生效,克服传统重启应用或定时加载方式的配置无法同时生效而导致的客户体验差异的问题,该系统及方法采用的动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷,以满足运维运维需求。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、单元、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
Claims (13)
1.一种分布式应用参数动态发布的系统,其特征在于,该系统包括:
登录请求接收模块,用于接收管理员发起的登录请求;
参数获取模块,用于根据所述登录请求验证所述管理员身份,验证通过后,获取所述管理员在Nacos配置中心界面输入的配置项参数;
Nacos配置中心模块,用于通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点;在所述服务器节点接收到所述配置项参数后,更新所述服务器节点本地内存。
2.根据权利要求1所述的分布式应用参数动态发布的系统,其特征在于,所述配置项参数包括:配置项分组及配置项ID;其中,
所述配置项分组至少包括:业务类参数组、系统类参数组及数据库类参数组在内的一个分组或多个分组。
3.根据权利要求2所述的分布式应用参数动态发布的系统,其特征在于,所述Nacos配置中心模块还包括:
依赖关系设置单元,用于应用pom.xml文件增加依赖关系;
Nacos配置管理单元,用于根据所述依赖关系配置Nacos.xml文件,在所述Nacos.xml文件中设置配置项分组及配置项ID;
参数发布单元,用于在Spring框架的应用程序环境启动过程中,调用事件发布的应用程序接口,将参数动态发布到服务器节点。
4.根据权利要求3所述的分布式应用参数动态发布的系统,其特征在于,该系统还包括:框架设置模块,用于根据所述依赖关系设置Spring框架。
5.根据权利要求3所述的分布式应用参数动态发布的系统,其特征在于,参数发布单元包括:
应用程序环境启动子单元,用于在所述Spring框架启动应用程序环境;
接口调用子单元,用于在启动过程中,调用事件发布的应用程序接口,启动事件发布程序;
参数发布子单元,用于执行事件发布程序,将所述配置项参数进行发布,发布通知到服务器节点。
6.根据权利要求5所述的分布式应用参数动态发布的系统,其特征在于,该系统还包括:回滚模块,用于在所述配置项参数发布后,根据所述管理员的回滚操作指令,将事件执行程序回退到一历史版本下。
7.一种分布式应用参数动态发布的方法,其特征在于,该方法包括:
接收管理员发起的登录请求;
根据所述登录请求验证所述管理员身份,验证通过后,获取所述管理员在Nacos配置中心界面输入的配置项参数;
通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点;在所述服务器节点接收到所述配置项参数后,更新所述服务器节点的本地内存。
8.根据权利要求7所述的分布式应用参数动态发布的方法,其特征在于,所述配置项参数包括:配置项分组及配置项ID;其中,
所述配置项分组至少包括:业务类参数组、系统类参数组及数据库类参数组在内的一个分组或多个分组。
9.根据权利要求8所述的分布式应用参数动态发布的方法,其特征在于,通过所述Nacos配置中心将所述配置项参数进行发布,发布通知到服务器节点,包括:
应用pom.xml文件增加依赖关系;
根据所述依赖关系设置Spring框架;
根据所述依赖关系配置Nacos.xml文件,在所述Nacos.xml文件中设置配置项分组及配置项ID;
在Spring框架的应用程序环境启动过程中,调用事件发布的应用程序接口,将参数动态发布到服务器节点。
10.根据权利要求9所述的分布式应用参数动态发布的方法,其特征在于,在Spring框架的应用程序环境启动过程中,调用事件发布的应用程序接口,将参数动态发布到服务器节点,包括:
在所述Spring框架启动应用程序环境;
在启动过程中,调用事件发布的应用程序接口,启动事件发布程序;
执行所述事件发布程序,将所述配置项参数进行发布,发布通知到服务器节点。
11.根据权利要求10所述的分布式应用参数动态发布的方法,其特征在于,该方法还包括:
在所述配置项参数发布后,根据所述管理员的回滚操作指令,将事件执行程序回退到一历史版本下。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求7至11任一所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7至11任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010347930.XA CN111562950B (zh) | 2020-04-28 | 2020-04-28 | 一种分布式应用参数动态发布的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010347930.XA CN111562950B (zh) | 2020-04-28 | 2020-04-28 | 一种分布式应用参数动态发布的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111562950A true CN111562950A (zh) | 2020-08-21 |
CN111562950B CN111562950B (zh) | 2023-05-23 |
Family
ID=72074362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010347930.XA Active CN111562950B (zh) | 2020-04-28 | 2020-04-28 | 一种分布式应用参数动态发布的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111562950B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363775A (zh) * | 2020-11-11 | 2021-02-12 | 深圳力维智联技术有限公司 | 动态修改微服务配置信息的方法及系统、存储介质 |
CN112667350A (zh) * | 2020-12-23 | 2021-04-16 | 广州三七互娱科技有限公司 | 配置调度方法、装置及系统 |
CN113360377A (zh) * | 2021-06-01 | 2021-09-07 | 北京京东振世信息技术有限公司 | 一种测试方法和装置 |
CN114281428A (zh) * | 2021-12-28 | 2022-04-05 | 挂号网(杭州)科技有限公司 | 一种业务字典的配置方法及电子设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248856A1 (en) * | 2008-04-01 | 2009-10-01 | International Business Machines Corporation | Staged Integration Of Distributed System And Publishing Of Remote Services |
CN111045656A (zh) * | 2020-03-12 | 2020-04-21 | 大汉软件股份有限公司 | 一种构建政务服务中台体系基础架构的方法和系统 |
CN111064626A (zh) * | 2020-01-02 | 2020-04-24 | 广州虎牙科技有限公司 | 配置更新方法、装置、服务器及可读存储介质 |
-
2020
- 2020-04-28 CN CN202010347930.XA patent/CN111562950B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248856A1 (en) * | 2008-04-01 | 2009-10-01 | International Business Machines Corporation | Staged Integration Of Distributed System And Publishing Of Remote Services |
CN111064626A (zh) * | 2020-01-02 | 2020-04-24 | 广州虎牙科技有限公司 | 配置更新方法、装置、服务器及可读存储介质 |
CN111045656A (zh) * | 2020-03-12 | 2020-04-21 | 大汉软件股份有限公司 | 一种构建政务服务中台体系基础架构的方法和系统 |
Non-Patent Citations (1)
Title |
---|
王晓博等: "基于微服务架构的高精度室内外综合位置服务平台设计" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363775A (zh) * | 2020-11-11 | 2021-02-12 | 深圳力维智联技术有限公司 | 动态修改微服务配置信息的方法及系统、存储介质 |
CN112667350A (zh) * | 2020-12-23 | 2021-04-16 | 广州三七互娱科技有限公司 | 配置调度方法、装置及系统 |
CN113360377A (zh) * | 2021-06-01 | 2021-09-07 | 北京京东振世信息技术有限公司 | 一种测试方法和装置 |
CN113360377B (zh) * | 2021-06-01 | 2023-11-07 | 北京京东振世信息技术有限公司 | 一种测试方法和装置 |
CN114281428A (zh) * | 2021-12-28 | 2022-04-05 | 挂号网(杭州)科技有限公司 | 一种业务字典的配置方法及电子设备、存储介质 |
CN114281428B (zh) * | 2021-12-28 | 2024-06-04 | 挂号网(杭州)科技有限公司 | 一种业务字典的配置方法及电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111562950B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111562950A (zh) | 一种分布式应用参数动态发布的系统及方法 | |
CN110532189B (zh) | 一种持续集成系统、方法及装置 | |
US8732693B2 (en) | Managing continuous software deployment | |
JP5535484B2 (ja) | 自動ソフトウェアテストフレームワーク | |
US9032373B1 (en) | End to end testing automation and parallel test execution | |
US7698391B2 (en) | Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate | |
US8010504B2 (en) | Increasing application availability during automated enterprise deployments | |
US9003392B2 (en) | Use of cloning in maintenance of virtual appliances | |
US9262193B2 (en) | Multi-tier platform-as-a-service deployment reduced to single-tier architecture for development | |
US20150193229A1 (en) | Efficient propagation of software based on snapshot technologies enabling more efficient informal software builds | |
US20100162227A1 (en) | Automation of Mainframe Software Deployment | |
CN113569987A (zh) | 模型训练方法和装置 | |
US9043781B2 (en) | Algorithm for automated enterprise deployments | |
US20070101328A1 (en) | Sequencing a single task sequence across multiple operating environments | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
US9542173B2 (en) | Dependency handling for software extensions | |
CN109240716B (zh) | 一种大数据平台版本管理与快速迭代部署方法及系统 | |
CN114721809A (zh) | 一种kubernetes集群的应用部署方法及装置 | |
CN111147291B (zh) | 一种服务维护方法及装置 | |
CN113434283B (zh) | 服务调度方法及装置、服务器、计算机可读存储介质 | |
US20090300609A1 (en) | Combining system blueprints, functional layer, and software bits in parallel development of machines | |
US20090300610A1 (en) | Self-replicating machines | |
US20160335068A1 (en) | Checks for software extensions | |
CN112379934B (zh) | 一种云计算平台的部署方法及装置、存储介质 | |
CN109445800A (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 |