CN115658166A - 集中管理和容易使用应用程序配置的***、方法及介质 - Google Patents
集中管理和容易使用应用程序配置的***、方法及介质 Download PDFInfo
- Publication number
- CN115658166A CN115658166A CN202211221289.0A CN202211221289A CN115658166A CN 115658166 A CN115658166 A CN 115658166A CN 202211221289 A CN202211221289 A CN 202211221289A CN 115658166 A CN115658166 A CN 115658166A
- Authority
- CN
- China
- Prior art keywords
- configuration
- management
- module
- release
- application program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000007726 management method Methods 0.000 claims abstract description 75
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 238000012550 audit Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 62
- 230000002452 interceptive effect Effects 0.000 claims description 25
- 230000004048 modification Effects 0.000 claims description 23
- 238000012986 modification Methods 0.000 claims description 23
- 238000012423 maintenance Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 15
- 238000013515 script Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 239000003795 chemical substances by application Substances 0.000 claims description 5
- 238000002955 isolation Methods 0.000 claims description 5
- 238000002360 preparation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 230000036541 health Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 210000001503 joint Anatomy 0.000 claims description 3
- 239000003607 modifier Substances 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000007792 addition Methods 0.000 claims description 2
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000005553 drilling Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000740 bleeding effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种集中管理和容易使用应用程序配置的***、方法及介质,包括:接入模块:为***的操作入口,用户登录web页面进行集群分组和配置的管控操作;功能模块:包括集群分组管理、命名空间管理、文件代理功能、自身监控、集群信息、灰度发布、分级灰度、预案管理、命令行、发布历史、版本控制、元数据管理和审计;基础资源模块:属于***架构依赖的硬件资源和在硬件资源基础上的服务,服务客户端模块:应用程序上集成配置服务客户端,拉取基础资源模块的配置信息,更新自身的配置。本发明有集成进中台,无需在各个中台服务之间来回切换;有分级灰度功能,当应用程序实例很多的时候,能够分批方式做配置发布,对发布要求低。
Description
技术领域
本发明涉及通信技术领域,具体地,涉及一种集中管理和容易使用应用程序配置的***、方法及介质。
背景技术
在微服务大行其道的架构背景下,服务拆分之后部署在不同的机器(也可能是虚拟机或者云pod)上,修改应用程序的配置涉及到多个实例和多个集群分组时,传统的修改配置文件的方式需要占用大量的运维时间,显得力不从心,而且配置没法记录变更历史和回滚操作,因此提供集中管理和容易使用应用程序配置的***十分有必要。
集中管控的配置服务主要解决分布式应用程序部署场景下,配置中心服务需要管理***的所有配置数据。提供非常友好的配置动态修改发布、发布历史查询、回滚等服务,相比传统的登录到某台机器上,修改配置文件然后重启服务的方式,极大降低运维成本。易用的界面包括可以批处理执行的命令行,方便***管理员对***的负载、流量、日志和***功能等做管控运维。
现在互联网上也有类似功能的配置中心,不过存在以下缺陷:1、没有集成进中台,和其他PaaS服务相互割裂,用户使用服务的时候需要在各个中台服务之间来回切换。2、没有预案功能,无法提前做好各种常见场景的配置项,需要临时配置,需要对***配置要求较高,容易出现配置问题。3、没有分级灰度功能,当应用程序实例很多的时候,没法分批方式做配置发布,对发布要求太高。4、没有命令行功能,某些特定场景的操作,比如自动化脚本和批量配置无法完成。
专利文献CN104301412A(申请号:CN201410548806.4)公开了一种大数据云服务集中管控***,由多个安装在本地信息处理设备上的终端及与终端连接的云端管理中心组成,所述云端管理中心包括数据中心及集中管控模块,所述集中管控模块具有管控数学模型。但该发明没有集成进中台,和其他PaaS服务相互割裂,用户使用服务的时候需要在各个中台服务之间来回切换。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种集中管理和容易使用应用程序配置的***、方法及介质。
根据本发明提供的一种集中管理和容易使用应用程序配置的***,包括:
接入模块:为***的操作入口,用户登录web页面进行集群分组和配置的管控操作,将请求功能模块指令、集群信息、配置参数、用户信息传输到功能模块;
功能模块:包括集群分组管理、命名空间管理、文件代理功能、自身监控、集群信息、灰度发布、分级灰度、预案管理、命令行、发布历史、版本控制、元数据管理和审计;功能模块执行完后,将得到的变更的配置信息携带进入基础资源模块;
基础资源模块:属于***架构依赖的硬件资源和在硬件资源基础上的服务,资源更新后触发监听机制,服务客户端进行下一步的操作;
服务客户端模块:应用程序上集成配置服务客户端,拉取基础资源模块的配置信息,更新自身的配置。
优选地,在所述接入模块中:
如果服务器上没有图形界面,使用命令行登录操作,其中命令行有区分交互式和非交互式两种,交互式是登录之后一问一答的方式,能够调试和修改各种配置,非交互式方便编写批量修改配置的脚本,能够定时执行或者自动化运维执行;
api管理接口把操作配置的能力通过接口方式提供,其他业务***做应用集成和二次开发,应用程序接口是业务***对接的接口,服务端配置的数据通过该接口实时同步到应用程序,该接口对配置数据是只读的。
优选地,在所述功能模块中:
集群分组管理:将应用程序划分为几个相对独立的集群分组,不同集群分组的应用程序采用不同的配置数据,实现功能包括AB测试、用户分流和故障隔离;
命名空间管理:提供命名空间创建、查询和删除功能,对配置做增删改查操作并发布;
文件代理功能:适用于不修改源应用程序,直接在应用程序所在的环境中部署一个代理程序,通过代理程序,实现修改应用程序的配置文件,并通过重载或者重启的方式让应用程序的配置生效。
文件代理功能具体包括:服务端文件管理服务,应用程序端配置代理程序;
配置代理程序部署好之后,***管理员在文件管理的服务端上传配置文件或者直接点开配置文件进行编辑;编辑完成之后点击保存按钮,服务端保存编辑的内容;用户检查内容,没有问题之后选择发布;服务端通知代理程序配置的修改;代理程序收到通知之后获取最新的配置数据文件;代理程序将本地的配置文件备份,并添加最新的服务端获取的配置文件;通知应用程序重新加载配置或者重启来读取最新的配置文件。
优选地,自身监控:通过自身监控机制,获取各个节点的运行情况,及时发现故障问题从而排除隐患;
集群信息:展示***本身的各个节点,健康状态之外还包括使用配置服务的各个应用程序信息,获取当前使用配置服务的应用程序信息,掌握改配置模块的使用的情况;
灰度发布功能:用户能够修改配置试错,通过设置灰度范围再做灰度发布,如果发现有异常及时放弃灰度,将试错成本控制在最小;
分级灰度发布:将原来一次性发布的配置数据分成几个阶段来发布,每发布一个阶段完成,都停下来观察和测试应用是否正常,使得***管理员和运维人员及时发现问题,适用场景包括应用程序发布上线和新配置发布修改。
优选地,预案管理功能:把某些特定场景需要修改的配置事先设置,遇到对应的场景时直接发布配置,***管理员和运维人员能够针对可能出现的场景做事先的演练和配置修改准备;
命令行:提供了交互式和非交互式两种命令行执行方式,在字符界面的命令行终端使用配置中心服务和通过编写自动化脚本使用配置中心服务;
优选地,发布历史:详细记录了发布信息包括灰度发布的各个版本号、配置内容、发布时间和发布人,浏览发布历史能够查看配置之前的修改记录,对配置做回溯;
版本控制:管控版本的发布和回滚操作,以及两个版本之间的配置数据差异;
元数据管理:记录配置服务本身的配置数据,包括配置项内容长度的限制、命名空间的区分维度、集群分组信息;
审计:通过审计日志方式记录信息包括配置的修改时间、修改人,进行权限管控和对操作的审计。
优选地,在所述基础资源模块中:
属于***架构依赖的硬件资源和在硬件资源基础上的服务,配置数据存储,使用Mysql数据库,通过主备方式保证数据可用,使用交互协议让应用程序建立连接并且传输数据,结合通知机制使得配置变更之后有效通知,通过微服务组件Eureka实现多个实例相互注册成一个配置服务集群对外提供服务,避免单点故障导致的配置不可用。
优选地,在所述服务客户端模块中:
配置服务客户端程序衔接Spring框架、集成到JUP开发工具,添加配置服务地址和访问token实现从配置服务获取配置数据,对于非Spring框架的应用程序,客户端调用相应获取配置的接口,接口有缓存机制,当服务端添加或者修改配置时,配置服务客户端能立马感知,并直接修改内存配置,达到动态调整应用程序的目的。
根据本发明提供的一种集中管理和容易使用应用程序配置的方法,采用所述的集中管理和容易使用应用程序配置***,执行包括:
步骤S1:业务方人员进入接入层模块,进行身份验证,得到身份以及角色认证后进入功能模块层;
步骤S2:得到基本的功能入口以及能力进行相应的功能执行,执行后得到数据流,数据流进入基础层;
步骤S3:业务方的客户端程序会得到变更的配置的通知,对应直接修改内存的配置,实现动态发布。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述集中管理和容易使用应用程序配置的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明有集成进中台,用户使用服务的时候无需在各个中台服务之间来回切换;
2、本发明有预案功能,能够提前做好各种常见场景的配置项,无需临时配置,对***配置要求低,不容易出现配置问题;
3、本发明有分级灰度功能,当应用程序实例很多的时候,能够分批方式做配置发布,对发布要求低;
4、本发明有命令行功能,某些特定场景的操作,比如自动化脚本和批量配置能够完成。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明配置服务技术架构中模块组成示意图;
图2为本发明配置下发过程中的交互图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
本发明提供一种集中管理和容易使用应用程序配置的***、方法及介质,包括:集群分组管理、命名空间管理、灰度发布功能、预案管理、分级灰度发布、命令行等模块。其中,集群分组管理模块:可以将应用程序划分为几个相对独立的集群分组,不同集群分组的应用程序采用不同的配置数据,用于实现A/B测试、用户分流和故障隔离等功能;命名空间管理模块:提供命名空间创建、查询和删除功能,可以方便对配置做增删改查操作并发布,是***管理员和配置员操作操作最频繁的模块。灰度发布功能模块:给予用户修改配置试错能力,通过设置灰度范围,灰度发布,如果发现有任何异常可以及时放弃灰度,将试错成本控制在最小范围;预案管理模块:方便***管理员和运维人员针对可能出现的场景做事先的演练和配置修改准备,方便在遇到相应的场景时能快速有效应对,提高应用程序的健壮性;分级灰度发布模块:将原来一次性发布的配置数据分成几个阶段来发布,每发布一个阶段完成,都可以停下来观察和测试应用是否正常,方便***管理员和运维人员及时发现问题,适用于应用程序发布上线和新配置发布修改等场景;命令行模块:提供了交互式和非交互式两种命令行执行方式,方便在命令行终端使用配置中心服务和编写自动化脚本使用配置中心服务。
一种集中管理和容易使用应用程序配置的方法,包括:
业务方人员进入接入层模块;进行身份验证,得到身份以及角色认证后进入功能模块层;在该层得到基本的功能入口以及能力进行相应的功能执行,执行后得到数据流,数据流会进入基础层进行持久化;业务方的客户端程序会得到变更的配置的通知,之后会对应直接修改内存的配置,实现动态发布。
一种集中管理和容易使用应用程序配置的***,如图1-图2所示,包括:
集群分组管理、命名空间管理、灰度发布功能、文件代理功能、预案管理功能、分级灰度发布、命令行等模块。
其中,集群分组管理模块:用于将应用程序划分为几个相对独立的集群分组,不同集群分组的应用程序采用不同的配置数据,方便实现A/B测试、用户分流和故障隔离等功能;
命名空间管理:提供命名空间创建、查询和删除功能,可以方便对配置做增删改查操作并发布,是***管理员和配置员操作操作最频繁的模块;
灰度发布功能:给予用户修改配置试错能力,通过设置灰度范围再做灰度发布,做到小范围内的应用程序修改配置,如果发现有任何异常可以及时放弃灰度,将试错成本控制在最小范围,及时为用户进行应急以及止血;
文件代理功能:适用于不修改源应用程序,直接在应用程序所在的环境中部署一个代理程序。通过代理程序,实现修改应用程序的配置文件,并通过重载或者重启的方式让应用程序的配置生效;
文件代理功能模块具体包括:服务端文件管理服务,应用程序端配置代理程序;
配置代理程序部署好之后,***管理员可以在文件管理的服务端上传配置文件或者直接点开配置文件进行编辑;
编辑完成之后点击保存按钮,服务端会保存编辑的内容;
用户可以检查内容,没有问题之后可以选择发布;
服务端会通知代理程序配置的修改;
代理程序收到通知之后会获取最新的配置数据文件;
代理程序将本地的配置文件备份,并添加最新的服务端获取的配置文件;
通知应用程序重新加载配置或者重启来读取最新的配置文件。
预案管理功能:把某些特定场景需要修改的配置事先设置好,等到遇到对应的场景时,可以直接发布配置,方便***管理员和运维人员针对可能出现的场景做事先的演练和配置修改准备,方便在遇到相应的场景时能快速有效应对,提高应用程序的健壮性;
分级灰度发布:将原来一次性发布的配置数据分成几个阶段来发布,每发布一个阶段完成,都可以停下来观察和测试应用是否正常,方便***管理员和运维人员及时发现问题,适用于应用程序发布上线和新配置发布修改等场景;
命令行:提供了交互式和非交互式两种命令行执行方式,方便在字符界面的命令行终端使用配置中心服务和通过编写自动化脚本使用配置中心服务;
配置服务客户端:上面说的是配置服务操作的服务端程序,最后配置数据要落实到应用程序上,需要在应用程序上集成配置服务客户端。配置服务客户端程序已经无缝衔接主流的Spring框架、集成到行内JUP开发工具,只要添加配置服务地址和访问token即可实现从配置服务获取配置数据,对应用程序开发人员完全透明。对于非Spring框架的应用程序,客户端也能无缝衔接,只要调用相应获取配置的接口即可,接口有缓存机制,可以放心调用。当服务端添加或者修改配置时,配置服务客户端能立马感知,并直接修改内存配置,达到动态调整应用程序(响应时长在1秒内)的目的。
一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述集中管理和容易使用应用程序配置的方法的步骤。
实施例2:
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
本发明提供一种集中管理和容易使用应用程序配置的***、方法及介质,包括:集群分组管理、命名空间管理、灰度发布功能、预案管理、分级灰度发布、命令行等功能模块。模块之间是松耦合设计,可以方便修改和扩展。参照图1展示了***各个模块和模块的分层,各层和模块如下:
1.接入层:是***的操作入口,用户可以直接登录web页面进行集群分组和配置的管控操作。如果是服务器上没有图形界面,可以使用命令行登录操作,其中命令行有区分交互式和非交互式两种。交互式是登录之后一问一答的方式,方便调试和修改各种配置。非交互式方便编写批量修改配置的脚本,方便定时执行或者自动化运维执行。api管理接口把操作配置的能力通过接口方式提供,方便其他业务***做应用集成和二次开发,目前行内微服务网关治理以及监控和告警服务的参数配置和动态调配都是使用该方式完成。最后的应用程序接口是业务***对接的接口,服务端配置的数据都是通过该接口才能实时同步到应用程序,该接口对配置数据是只读的。
2.中间的是功能模块层:***的绝大部分功能都在这一层中,其中
(1)集群分组管理模块:用于将应用程序划分为几个相对独立的集群分组,不同集群分组的应用程序采用不同的配置数据隔离,应用程序只能获取一个具体分组中的配置数据,方便实现A/B测试、用户分流和故障隔离等功能;
(2)命名空间管理:提供命名空间创建、查询和删除功能,以类似管理单独的一个个文件的方式,可以方便对配置做增删改查操作并发布,是***管理员和配置员操作操作最频繁的模块;
(3)文件代理功能:适用于不修改源应用程序,直接在应用程序所在的环境中部署一个代理程序。通过代理程序,实现修改应用程序的配置文件,并通过重载或者重启的方式让应用程序的配置生效。该功能中代理程序和配置服务交互可以查看图2中右边部分,用户通过web页面或者命令行操作配置服务端之后,服务端会通知代理程序。代理程序从服务端获取数据文件在本地,然后通知应用程序2去读取最新的配置文件数据;
(4)自身监控模块:是***自我的一种健康检查机制,当***自身被分布式部署之后,往往是部署3个节点以上的服务节点。而且服务本身的高可用性,当某个节点发生故障,整体的服务不会受到影响。所以存在多个节点不好管理的问题。通过自身监控机制,可以方便获取各个节点的运行情况,可以及时发现故障问题从而排除隐患;
(5)集群信息模块:用来展示***本身的各个节点,健康状态之外还包括使用配置服务的各个应用程序信息,通过该模块可以很方便获取当前使用配置服务的应用程序信息,方便掌握改配置模块的使用的情况;
(6)灰度发布功能:给予用户修改配置试错能力,通过设置灰度范围再做灰度发布,做到小范围内的应用程序修改配置,如果发现有任何异常可以及时放弃灰度,将试错成本控制在最小范围;
(7)分级灰度功能:该模块是功能6的升级本部,方便对发布过程人为划分几个阶段,每发布一个阶段完成,都可以停下来观察和测试应用是否正常,方便***管理员和运维人员及时发现问题,通过阶段的发布配置实现分级灰度。特别适合用在***新功能上线和老功能替代的顺滑切换过程;
(8)预案管理功能:方便***管理员和运维人员针对可能出现的场景做事先的演练和配置修改准备,方便在遇到相应的场景时能快速有效应对,提高应用程序的健壮性;
(9)命令行模块:提供了交互式和非交互式两种命令行执行方式,方便在命令行终端使用配置中心服务和编写自动化脚本使用配置中心服务;
(10)发布历史模块:详细记录了发布包括灰度发布的各个版本号、配置内容、发布时间和发布人等信息,浏览发布历史可以查看配置之前的修改记录,方便对配置做回溯;
(11)版本控制模块:主要管控版本的发布和回滚操作,以及两个版本之间的配置数据差异;
(12)元数据管理模块:主要记录配置服务本身的配置数据,比如配置项内容长度的限制、命名空间的区分维度、集群分组信息等;
(13)审计模块:通过审计日志方式记录配置的修改时间、修改人等信息,方便权限管控和对操作的审计。
3.基础层:属于***架构依赖的硬件资源和在硬件资源基础上的服务。主要体现为配置数据存储,目前用的是开源的Mysql数据库,通过主备方式保证数据高可用。交互协议,应对应用程序建立连接并且传输数据,结合通知机制,使得配置变更之后有效通知,从配置发布到应用程序收到整个过程在1秒之内。高可用机制是通过微服务组件Eureka实现多个实例相互注册成一个配置服务集群对外提供服务,从而避免单点故障导致的配置不可用。
除上述配置服务分层之外,还有配置服务客户端:指的是应用程序上集成配置服务客户端。配置服务客户端和配置服务交互可以查看图2中左边部分,他是和应用程序在同一个操作***进程中。和图2中右边部分的文件代理服务相比,和应用程序之间的交互配置省去了外部文件环节,直接在内存中修改配置项。配置服务客户端程序已经无缝衔接主流的Spring框架、集成到行内JUP开发工具,只要添加配置服务地址和访问token即可实现从配置服务获取配置数据,对应用程序开发人员完全透明。对于非Spring框架的应用程序,客户端也能无缝衔接,只要调用相应获取配置的接口即可,接口有缓存机制,可以放心调用。当服务端添加或者修改配置时,配置服务客户端能立马感知,并直接修改内存配置,达到动态调整应用程序(响应时长在1秒内)的目的。
接入模块的请求功能模块指令、集群信息、配置参数、用户信息会传输到功能模块;
功能模块执行完后,会将得到的变更的配置信息携带进入基础资源模块;
基础资源模块上的资源更新后会触发监听机制,服务客户端会进行下一步的操作;
服务客户端模块会拉取基础资源模块的配置信息,以此来更新自身的配置。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种集中管理和容易使用应用程序配置的***,其特征在于,包括:
接入模块:为***的操作入口,用户登录web页面进行集群分组和配置的管控操作,将请求功能模块指令、集群信息、配置参数、用户信息传输到功能模块;
功能模块:包括集群分组管理、命名空间管理、文件代理功能、自身监控、集群信息、灰度发布、分级灰度、预案管理、命令行、发布历史、版本控制、元数据管理和审计;功能模块执行完后,将得到的变更的配置信息携带进入基础资源模块;
基础资源模块:属于***架构依赖的硬件资源和在硬件资源基础上的服务,资源更新后触发监听机制,服务客户端进行下一步的操作;
服务客户端模块:应用程序上集成配置服务客户端,拉取基础资源模块的配置信息,更新自身的配置。
2.根据权利要求1所述的集中管理和容易使用应用程序配置的***,其特征在于,在所述接入模块中:
如果服务器上没有图形界面,使用命令行登录操作,其中命令行有区分交互式和非交互式两种,交互式是登录之后一问一答的方式,能够调试和修改各种配置,非交互式方便编写批量修改配置的脚本,能够定时执行或者自动化运维执行;
api管理接口把操作配置的能力通过接口方式提供,其他业务***做应用集成和二次开发,应用程序接口是业务***对接的接口,服务端配置的数据通过该接口实时同步到应用程序,该接口对配置数据是只读的。
3.根据权利要求1所述的集中管理和容易使用应用程序配置的***,其特征在于,在所述功能模块中:
集群分组管理:将应用程序划分为几个相对独立的集群分组,不同集群分组的应用程序采用不同的配置数据,实现功能包括AB测试、用户分流和故障隔离;
命名空间管理:提供命名空间创建、查询和删除功能,对配置做增删改查操作并发布;
文件代理功能:适用于不修改源应用程序,直接在应用程序所在的环境中部署一个代理程序,通过代理程序,实现修改应用程序的配置文件,并通过重载或者重启的方式让应用程序的配置生效。
文件代理功能具体包括:服务端文件管理服务,应用程序端配置代理程序;
配置代理程序部署好之后,***管理员在文件管理的服务端上传配置文件或者直接点开配置文件进行编辑;编辑完成之后点击保存按钮,服务端保存编辑的内容;用户检查内容,没有问题之后选择发布;服务端通知代理程序配置的修改;代理程序收到通知之后获取最新的配置数据文件;代理程序将本地的配置文件备份,并添加最新的服务端获取的配置文件;通知应用程序重新加载配置或者重启来读取最新的配置文件。
4.根据权利要求3所述的集中管理和容易使用应用程序配置的***,其特征在于:
自身监控:通过自身监控机制,获取各个节点的运行情况,及时发现故障问题从而排除隐患;
集群信息:展示***本身的各个节点,健康状态之外还包括使用配置服务的各个应用程序信息,获取当前使用配置服务的应用程序信息,掌握改配置模块的使用的情况;
灰度发布功能:用户能够修改配置试错,通过设置灰度范围再做灰度发布,如果发现有异常及时放弃灰度,将试错成本控制在最小;
分级灰度发布:将原来一次性发布的配置数据分成几个阶段来发布,每发布一个阶段完成,都停下来观察和测试应用是否正常,使得***管理员和运维人员及时发现问题,适用场景包括应用程序发布上线和新配置发布修改。
5.根据权利要求4所述的集中管理和容易使用应用程序配置的***,其特征在于:
预案管理功能:把某些特定场景需要修改的配置事先设置,遇到对应的场景时直接发布配置,***管理员和运维人员能够针对可能出现的场景做事先的演练和配置修改准备;
命令行:提供了交互式和非交互式两种命令行执行方式,在字符界面的命令行终端使用配置中心服务和通过编写自动化脚本使用配置中心服务。
6.根据权利要求5所述的集中管理和容易使用应用程序配置的***,其特征在于:
发布历史:详细记录了发布信息包括灰度发布的各个版本号、配置内容、发布时间和发布人,浏览发布历史能够查看配置之前的修改记录,对配置做回溯;
版本控制:管控版本的发布和回滚操作,以及两个版本之间的配置数据差异;
元数据管理:记录配置服务本身的配置数据,包括配置项内容长度的限制、命名空间的区分维度、集群分组信息;
审计:通过审计日志方式记录信息包括配置的修改时间、修改人,进行权限管控和对操作的审计。
7.根据权利要求1所述的集中管理和容易使用应用程序配置的***,其特征在于,在所述基础资源模块中:
属于***架构依赖的硬件资源和在硬件资源基础上的服务,配置数据存储,使用Mysql数据库,通过主备方式保证数据可用,使用交互协议让应用程序建立连接并且传输数据,结合通知机制使得配置变更之后有效通知,通过微服务组件Eureka实现多个实例相互注册成一个配置服务集群对外提供服务,避免单点故障导致的配置不可用。
8.根据权利要求1所述的集中管理和容易使用应用程序配置的***,其特征在于,在所述服务客户端模块中:
配置服务客户端程序衔接Spring框架、集成到JUP开发工具,添加配置服务地址和访问token实现从配置服务获取配置数据,对于非Spring框架的应用程序,客户端调用相应获取配置的接口,接口有缓存机制,当服务端添加或者修改配置时,配置服务客户端能立马感知,并直接修改内存配置,达到动态调整应用程序的目的。
9.一种集中管理和容易使用应用程序配置的方法,其特征在于,采用权利要求1所述的集中管理和容易使用应用程序配置***,执行包括:
步骤S1:业务方人员进入接入层模块,进行身份验证,得到身份以及角色认证后进入功能模块层;
步骤S2:得到基本的功能入口以及能力进行相应的功能执行,执行后得到数据流,数据流进入基础层;
步骤S3:业务方的客户端程序会得到变更的配置的通知,对应直接修改内存的配置,实现动态发布。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求9所述集中管理和容易使用应用程序配置的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211221289.0A CN115658166A (zh) | 2022-10-08 | 2022-10-08 | 集中管理和容易使用应用程序配置的***、方法及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211221289.0A CN115658166A (zh) | 2022-10-08 | 2022-10-08 | 集中管理和容易使用应用程序配置的***、方法及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658166A true CN115658166A (zh) | 2023-01-31 |
Family
ID=84986522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211221289.0A Pending CN115658166A (zh) | 2022-10-08 | 2022-10-08 | 集中管理和容易使用应用程序配置的***、方法及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658166A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680012A (zh) * | 2023-08-01 | 2023-09-01 | 浙江春风动力股份有限公司 | 工业软件配置管理***及方法 |
CN116974857A (zh) * | 2023-09-21 | 2023-10-31 | 中国西安卫星测控中心 | 一种监控代理自动部署更新方法及其*** |
-
2022
- 2022-10-08 CN CN202211221289.0A patent/CN115658166A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680012A (zh) * | 2023-08-01 | 2023-09-01 | 浙江春风动力股份有限公司 | 工业软件配置管理***及方法 |
CN116680012B (zh) * | 2023-08-01 | 2023-10-24 | 浙江春风动力股份有限公司 | 工业软件配置管理***及方法 |
CN116974857A (zh) * | 2023-09-21 | 2023-10-31 | 中国西安卫星测控中心 | 一种监控代理自动部署更新方法及其*** |
CN116974857B (zh) * | 2023-09-21 | 2024-01-23 | 中国西安卫星测控中心 | 一种监控代理自动部署更新方法及其*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106716360B (zh) | 支持多租户应用服务器环境中的补丁修补的***和方法 | |
CN115658166A (zh) | 集中管理和容易使用应用程序配置的***、方法及介质 | |
CN107291565B (zh) | 运维可视化自动化作业平台及实现方法 | |
US7937455B2 (en) | Methods and systems for modifying nodes in a cluster environment | |
DE112020005786T5 (de) | Systeme und verfahren zum ermöglichen eines hochverfügbaren verwalteten ausfallsicherungsdienstes | |
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与*** | |
CN106657167B (zh) | 管理服务器、服务器集群、以及管理方法 | |
CN109189680B (zh) | 一种应用发布和配置的***及方法 | |
CN106681956A (zh) | 一种大规模计算机集群的操作方法及装置 | |
CN107203617B (zh) | 基于MHA的mysql在线迁移***及方法 | |
CN105577475A (zh) | 自动化性能测试***及方法 | |
US11151025B1 (en) | Generating software test plans based at least in part on monitored traffic of a production application | |
JP2015069655A (ja) | プロセス制御システムおよび方法 | |
Veeraraghavan et al. | Maelstrom: Mitigating datacenter-level disasters by draining interdependent traffic safely and efficiently | |
CN107992326B (zh) | 基于Struts2框架的Java自动化代码发布方法 | |
CN101266566A (zh) | 多测试场景自动调度***和方法 | |
EP4162649B1 (en) | Stable references for network function life cycle management automation | |
CN105528259B (zh) | 一种应用级容灾自动化切换控制设计方法 | |
CN116069358A (zh) | 分布式数据库中数据的升级方法、装置及存储介质 | |
CN114398208A (zh) | 一种无状态应用的跨集群备份方法、***、介质和设备 | |
JP6382705B2 (ja) | 仮想機器試験装置、仮想機器試験方法及び仮想機器試験プログラム | |
CN114090211A (zh) | 协调单任务主从程序的方法、装置和相关多服务器*** | |
Lovrek et al. | Improving software maintenance by using agent-based remote maintenance shell | |
Furda et al. | Developing a microservices integration layer for next-generation rail operations centers | |
CN115640096A (zh) | 基于kubernetes的应用管理方法、装置和存储介质 |
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 |