分布式应用的配置方法、装置以及分布式系统制造方法及图纸

技术编号:21547515 阅读:22 留言:0更新日期:2019-07-06 21:14
本发明专利技术提供了一种分布式应用的配置方法、装置以及分布式系统,其中的方法包括:配置Agent从配置中心下载与应用实例相对应的配置文件并存储;如果确定保存在配置中心的配置文件发生变更,则配置代理Agent下载更新后的配置文件,基于预设的应用实例重启策略,执行对于应用实例的重启操作。本发明专利技术的配置方法、装置及分布式系统,通过配置Agent独立运行,从配置中心服务端下载配置文件,监听配置文件的更新、启动/停止应用实例等,降低了维护成本,提高了系统的稳定性;对于主从结构的异构系统,只需要少量修改配置Agent的配置即可实现配置自动拉取;可广泛应用于大型分布式系统,对遗留系统、异构系统实现无侵入化接入配置。

Configuration Method, Device and Distributed System of Distributed Application

【技术实现步骤摘要】
分布式应用的配置方法、装置以及分布式系统
本专利技术涉及分布式系统
,尤其涉及一种分布式应用的配置方法、装置以及分布式系统。
技术介绍
分布式系统(distributedsystem)是建立在网络之上的软件系统。分布式系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。在一个分布式环境中,同类型的服务往往会部署很多实例,这些实例使用了一些配置,为了更好地维护这些配置需要一个专门的配置管理平台即配置中心,通过配置中心可以轻松地管理成千上百个服务实例的配置。配置中心分为配置中心服务端和配置中心客户端两大模块。目前,常用的配置中心客户端实现方式,是将配置中心客户端组件嵌入到应用中,在应用启动时自动从配置中心下载配置,从而实现配置与应用的解耦合。现有的配置方案存在以下问题:第一、具有较强的侵入性,应用若需要将配置文件托管给配置中心,则必须依赖配置中心的客户端组件。对于历史遗留系统,需要大量的修改代码,增加了维护成本,降低了系统的稳定性;第二、对于主从结构的异构系统,现有侵入式配置管理方案无法提供支持。
技术实现思路
本专利技术的一个或多个实施例提供一种分布式应用的配置方法、装置以及分布式系统。根据本公开的一个方面,提供一种分布式应用的配置方法,包括:启动与应用实例相对应的配置Agent;所述配置Agent与配置中心建立连接,从所述配置中心下载与所述应用实例相对应的配置文件并存储;如果所述配置Agent确定保存在所述配置中心的所述配置文件发生变更,则所述配置Agent与所述配置中心建立连接并下载更新后的所述配置文件;所述配置Agent基于预设的应用实例重启策略,执行对于所述应用实例的重启操作。可选地,所述配置Agent获取所述应用实例的标识信息;所述配置Agent根据所述标识信息从所述配置中心下载与所述应用实例相对应的配置文件。可选地,所述配置Agent获取预设的配置相关信息,其中,所述配置相关信息包括:配置中心信息、所述应用实例启动策略、所述标识信息;所述配置Agent检验所述配置相关信息的合法性,如果检验失败,则所述配置Agent结束运行,如果检验成功,则所述配置Agent获取对于所述应用实例的命令参数,所述命令参数包括:日志文件存储路径;所述配置Agent对所述命令参数的合法性进行检验,如果检验成功,则开启日志刷新线程,用于将日志写入所述日志文件存储路径所指示的日志文件中。可选地,所述从所述配置中心下载与所述应用实例相对应的配置文件包括:所述配置Agent获取本机信息,其中,所述本机信息包括:本机的IP地址、主机名;所述配置Agent基于所述配置中心信息以及所述本机信息建立与所述配置中心的连接;所述配置Agent判断所述连接建立成功,如果是,则下载最新的所述配置文件;所述配置Agent在Zookeeper上创建第一Znode,用于标识所述应用实例正在使用所述配置文件。可选地,如果所述配置Agent判断所述连接建立失败,则重新建立与所述配置中心的连接;当确定连接建立失败的次数达到预设的次数阈值,则所述配置Agent结束运行。可选地,所述配置Agent与所述配置中心建立连接并下载更新后的所述配置文件包括:所述配置Agent监听Zookeeper上与所述配置文件对应的第二ZNode;如果基于所述第二ZNode确定所述配置文件发生变更并发布成功,自动从所述配置中心下载更新后的所述配置文件,用以替换原有的所述配置文件。可选地,所述配置Agent基于预设的应用实例重启策略、执行对于所述应用实例的重启操作包括:所述配置Agent确定所述配置文件中被修改的参数,基于所述应用实例重启策略以及所述被修改的参数判断是否需要重启所述应用实例,如果是,则所述配置Agent重启所述应用实例。可选地,所述配置Agent与所述应用实例为一一对应设置,其中,所述配置Agent与其对应的所述应用实例部署在同一服务器或者容器中。可选地,所述配置Agent作为独立的进程运行;在所述配置Agent启动并从所述配置中心下载所述配置文件并存储后,所述配置Agent启动与其对应的所述应用实例。可选地,所述配置Agent获取所述配置文件的本地指定目录,将所述配置文件存储在所述本地指定目录下。根据本公开的另一方面,提供一种分布式应用的配置装置,包括:代理启动模块,用于启动与应用实例相对应的配置Agent;所述配置Agent,包括:配置下载模块,用于与配置中心建立连接,从所述配置中心下载与所述应用实例相对应的配置文件并存储;配置更新模块,用于如果确定保存在所述配置中心的所述配置文件发生变更,则与所述配置中心建立连接并下载更新后的所述配置文件;实例处理模块,用于基于预设的应用实例重启策略,执行对于所述应用实例的重启操作。可选地,所述配置下载模块,用于获取所述应用实例的标识信息,根据所述标识信息从所述配置中心下载与所述应用实例相对应的配置文件。可选地,所述配置Agent,包括:信息获取模块,用于获取预设的配置相关信息,其中,所述配置相关信息包括:配置中心信息、所述应用实例启动策略、所述标识信息;检验所述配置相关信息的合法性,如果检验失败,则所述配置Agent结束运行,如果检验成功,则获取对于所述应用实例的命令参数,所述命令参数包括:日志文件存储路径;日志刷新模块,用于对所述命令参数的合法性进行检验,如果检验成功,则开启日志刷新线程,用于将日志写入所述日志文件存储路径所指示的日志文件中。可选地,所述配置下载模块,用于获取本机信息,其中,所述本机信息包括:本机的IP地址、主机名;基于所述配置中心信息以及所述本机信息建立与所述配置中心的连接;判断所述连接建立成功,如果是,则下载最新的所述配置文件;在Zookeeper上创建第一Znode,用于标识所述应用实例正在使用所述配置文件。可选地,所述配置下载模块,用于如果判断所述连接建立失败,则重新建立与所述配置中心的连接;其中,当确定连接建立失败的次数达到预设的次数阈值,则所述配置Agent结束运行。可选地,所述配置更新模块,用于监听Zookeeper上与所述配置文件对应的第二ZNode;如果基于所述第二ZNode确定所述配置文件发生变更并发布成功,自动从所述配置中心下载更新后的所述配置文件,用以替换原有的所述配置文件。可选地,所述实例处理模块,用于确定所述配置文件中被修改的参数,基于所述应用实例重启策略以及所述被修改的参数判断是否需要重启所述应用实例,如果是,则所述配置Agent重启所述应用实例。可选地,所述配置Agent与所述应用实例为一一对应设置,其中,所述配置Agent与其对应的所述应用实例部署在同一服务器或者容器中。可选地,所述配置Agent作为独立的进程运行;在所述配置Agent启动并从所述配置中心下载所述配置文件并存储后,所述配置Agent启动与其对应的所述应用实例。可选地,所述配置下载模块获取所述配置文件的本地指定目录,将所述配置文件存储在所述本地指定目录下。根据本公开的又一方面,提供一种分布式系统,包括:如上任一项所述的分布式应用的配置装置。根据本公开的又一方面,提供一种分布式应用的配置装置,本文档来自技高网...

【技术保护点】
1.一种分布式应用的配置方法,包括:启动与应用实例相对应的配置Agent;所述配置Agent与配置中心建立连接,从所述配置中心下载与所述应用实例相对应的配置文件并存储;如果所述配置Agent确定保存在所述配置中心的所述配置文件发生变更,则所述配置Agent与所述配置中心建立连接并下载更新后的所述配置文件;所述配置Agent基于预设的应用实例重启策略,执行对于所述应用实例的重启操作。

【技术特征摘要】
1.一种分布式应用的配置方法,包括:启动与应用实例相对应的配置Agent;所述配置Agent与配置中心建立连接,从所述配置中心下载与所述应用实例相对应的配置文件并存储;如果所述配置Agent确定保存在所述配置中心的所述配置文件发生变更,则所述配置Agent与所述配置中心建立连接并下载更新后的所述配置文件;所述配置Agent基于预设的应用实例重启策略,执行对于所述应用实例的重启操作。2.如权利要求1所述的方法,其中,还包括:所述配置Agent获取所述应用实例的标识信息;所述配置Agent根据所述标识信息从所述配置中心下载与所述应用实例相对应的配置文件。3.如权利要求2所述的方法,其中,还包括:所述配置Agent获取预设的配置相关信息,其中,所述配置相关信息包括:配置中心信息、所述应用实例启动策略、所述标识信息;所述配置Agent检验所述配置相关信息的合法性,如果检验失败,则所述配置Agent结束运行,如果检验成功,则所述配置Agent获取对于所述应用实例的命令参数,所述命令参数包括:日志文件存储路径;所述配置Agent对所述命令参数的合法性进行检验,如果检验成功,则开启日志刷新线程,用于将日志写入所述日志文件存储路径所指示的日志文件中。4.如权利要求3所述的方法,其中,所述从所述配置中心下载与所述应用实例相对应的配置文件包括:所述配置Agent获取本机信息,其中,所述本机信息包括:本机的IP地址、主机名;所述配置Agent基于所述配置中心信息以及所述本机信息建立与所述配置中心的连接;所述配置Agent判断所述连接建立成功,如果是,则下载最新的所述配置文件;所述配置Agent在Zookeeper上创建第一Znode,用于标识所述应用实例正在使用所述配置文件。5.如权利要求4所述的方法,其中,还包括:如果所述配置Agent判断所述连接建立失败,则重新建立与所述配置中心的连接;当确定连接建立失败的次数达到预设的次数阈值,则所述配置Agent结束运行。6.如权利要求4所述的方法,其中,所述配置Agent与所述配置中心建立连接并下载更新后的所述配置文件包括:所述配置Agent监听Zookeeper上与所述配置文件对应的第二ZNode;如果基于所述第二ZNode确定所述配置文件发生变更并发布成功,自动从所述配置中心下载更新后的所述配置文件,用以替换原有的所述配置文件。7.如权利要求1所述的方法,其中,所述配置Agent基于预设的应用实例重启策略、执行对于所述应用实例的重启操作包括:所述配置Agent确定所述配置文件中被修改的参数,基于所述应用实例重启策略以及所述被修改的参数判断是否需要重启所述应用实例,如果是,则所述配置Agent重启所述应用实例。8.如权利要求1所述的方法,其中,所述配置Agent与所述应用实例为一一对应设置,其中,所述配置Agent与其对应的所述应用实例部署在同一服务器或者容器中。9.如权利要求1所述的方法,其中,所述配置Agent作为独立的进程运行;在所述配置Agent启动并从所述配置中心下载所述配置文件并存储后,所述配置Agent启动与其对应的所述应用实例。10.如权利要求1所述的方法,其中,所述配置Agent获取所述配置文件的本地指定目录,将所述配置文件存储在所述本地指定目录下。11.一种分布式应用的配置装置,包括:代理启动模块,用于启动与应用实例相对应的配置Agent...

【专利技术属性】
技术研发人员:熊魁伟丘小营吴张圣杨睿纪润桐
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

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

1