本发明专利技术提供一种面向分布式服务的配置管理方法,包括:从数据库中拉取与服务组件对应的所有配置项;将所有配置项依据配置空间划分为若干配置项集合;将若干配置项集合加载至对应服务组件。本发明专利技术还提供一种面向分布式服务的配置管理装置,包括:数据库,用于存储所有服务组件的配置项;配置项拉取模块,与数据库通讯连接;配置项拉取模块用于响应服务组件拉取配置项的指令从数据库中拉取对应的配置项,并将配置项依据配置空间划分为若干配置项集合;配置项加载模块,与配置项拉取模块通讯连接;配置项加载模块用于加载若干配置项集合至对应的服务组件。本发明专利技术能够降低服务组件间的依赖关系,便于分布式服务的统一管理。
【技术实现步骤摘要】
面向分布式服务的配置管理方法及装置
本专利技术涉及分布式服务配置管理
,尤其涉及一种面向分布式服务的配置管理方法及装置。
技术介绍
在大数据平台中多数组件都是分布式的,配置的更新维护是一项极其繁琐易错的事情,目前的配置是采用配置文件的方式进行配置,每个服务组件都具有一个配置文件,这种配置方式会形成配置的依赖,上层组件会依赖下层组件的配置,其依赖方式包括直接复制配置文件和注入配置信息到自身配置文件两种方式,一旦组件之间依赖关系复杂,下层组件配置的细微变动就带来全局的更改。
技术实现思路
鉴于上述问题,本专利技术提供的面向分布式服务的配置管理方法及装置,能够减少服务组件配置之间的依赖。第一方面,本专利技术提供一种面向分布式服务的配置管理方法,包括:将配置项存储在配置中心的数据库中形成结构化数据;从所述数据库中拉取与服务组件对应的所有配置项;将所述所有配置项依据配置空间划分为若干配置项集合;将所述若干配置项集合按服务映射加载至对应服务组件的内存中。可选地,进一步包括:检测所述配置项的维护状态,当当前配置项的维护状态为更新时,依据所述配置项所属的服务组件和配置空间信息重新向服务组件加载更新后的所述配置项。可选地,在将所述若干配置项集合加载至对应服务组件之前,还包括:依据所述若干配置项集合的配置空间从服务模板库中加载配置模板;将所述若干配置项集合填充至对应的所述配置模板形成配置流,所述配置流存储在内存中,以将所述配置项集合以配置流形式加载至对应服务组件。可选地,检测所述配置项的维护状态,当当前的配置项的维护状态为更新时,依据所述配置项所属的服务组件信息和配置空间信息确定需要更新的配置流,拉取所述需要更新的配置流的所有配置项并重新形成配置流。可选地,还包括:将所述配置项存储在数据库中,将所述配置模板以配置空间信息命名存储在服务模板库中。可选地,检测所述配置项的维护状态,依据所述配置项的维护维护状态判断是否变更所述配置模板,当变更所述配置模板时,重新加载所述配置模板对应的所述配置项集合并填充变更后的配置项模板形成配置流。可选地,所述配置项集合通过模板引擎填充至配置模板中形成配置流。可选地,还包括:当启动服务器启动时,遍历服务器的所有服务组件并输出每个服务组件的所有配置项。可选地,还包括:依据服务ID和角色实例ID查询全局配置;依据服务ID和类型tag查询指定类型的配置;依据角色实例ID查询本地化配置。本专利技术面向分布式服务的配置管理方法中,在服务组件拉取的配置信息为配置项,而不是配置文件,每个配置项为唯一的配置项,在服务组件需要启动时,拉取该服务组件所有的配置项,并将配置项注入到服务组件中进行应用。这种配置方式,由于所有的服务组件都是直接应用配置项,当对配置项进行修改时,不会出现服务组件间相互依赖的情况,从而使大数据平台组件配置彻底解耦,配置变更无需应用感知行动,增强扩容、升级的健壮性,防止临时、恶意改动发生,变更全部记录能持续维护。并且大数据平台产品配置统一化管理,提供更强大、便捷的访问方式。第二方面,本专利技术提供一种面向分布式服务的配置管理装置,包括:配置中心数据库,用于将所有服务组件的配置项存储为结构化数据;配置项拉取模块,与所述数据库通讯连接;所述配置项拉取模块用于响应服务组件拉取配置项的指令以从数据库中拉取对应的配置项,并将所述配置项依据配置空间划分为若干配置项集合;配置项加载模块,与所述配置项拉取模块通讯连接;所述配置项加载模块用于按服务映射加载至所述若干配置项集合至对应的服务组件的内存中。可选地,还包括:服务模板库,用于存储以配置空间命名的配置模板;模板引擎,与所述配置模板通讯连接,用于依据所述配置空间从所述服务模板库选取配置模板并将所述若干配置项集合填充至所述配置模板形成配置流,所述配置流存储在内存中。可选地,还包括配置项更新模块,与所述数据库、所述配置项拉取模块和所述配置项加载模块通讯连接;所述配置项更新模块用于更新所述配置项,当所述配置项更新时,所述配置项更新模块向所述配置项加载模块推送更新后的配置项或向所述配置项拉取模块推送配置项的维护状态。可选地,还包括配置模板更新模块,所述配置模板更新模块与所述配置项更新模块通讯连接,所述配置模板更新模块用于接收所述配置项更新模块的配置项的维护状态并依据所述配置项的维护状态判断是否变更所述配置模板,当变更所述配置模板时,更新的所述配置模板存储在所述服务模板库,并控制所述模板引擎将所述配置项集合填充进入更新后的配置模板形成配置流。可选地,还包括服务组件遍历模块,用于在服务器启动时遍历服务器的所有服务组件并查询每个服务组件所需的配置项。本专利技术面向分布式服务的配置管理装置中,将所有的配置项存储在数据库中,而不是配置文件,每个配置项为唯一的配置项,在服务组件需要启动时,拉取该服务组件所有的配置项,并将配置项注入到服务组件中进行应用。这种配置方式,由于所有的服务组件都是直接应用配置项,当对配置项进行修改时,不会出现服务组件间相互依赖的情况,从而使大数据平台组件配置彻底解耦,配置变更无需应用感知行动,增强扩容、升级的健壮性,防止临时、恶意改动发生,变更全部记录能持续维护。并且大数据平台产品配置统一化管理,提供更强大、便捷的访问方式。附图说明图1为本专利技术一实施例的面向分布式服务的配置管理方法的流程图;图2为本专利技术一实施例的服务、角色实例、配置项、配置空间和配置流的关系框图;图3为本专利技术一实施例的面向分布式服务的配置管理方法的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术中,涉及到的主要名词具体解释如下:服务:表示软件系统中可以独立提供服务的进程或进程组。角色实例:表示服务进程组中的其中一个。配置项(ConfigItem):代表服务的一个配置参数。组成字段如下:配置空间:配置项所在的某个配置集合。具体体现是某个服务的某个配置文件配置模板(fileTemplate):配置空间对应的落地文件模板,即服务配置文件的格式模板,基于此模板填充此配置空间所包含的配置项成为配置文件。配置流(ConfigStream):配置文件的流形式,保存在内存中,便于提供到JVM加载。组成如下:实施例1如图1所示,本实施例提供一种面向分布式服务的配置管理方法,包括:在服务组件安装完成后,由于配置项总数有限,以1个服务对应50个配置项,平台中20本文档来自技高网...
【技术保护点】
1.一种服务集群的配置管理方法,其特征在于:包括:/n将配置项存储在配置中心的数据库中形成结构化数据;/n从所述数据库中拉取与服务组件对应的所有配置项;/n将所述所有配置项依据配置空间划分为若干配置项集合;/n将所述若干配置项集合按服务映射加载至对应服务组件的内存中。/n
【技术特征摘要】
1.一种服务集群的配置管理方法,其特征在于:包括:
将配置项存储在配置中心的数据库中形成结构化数据;
从所述数据库中拉取与服务组件对应的所有配置项;
将所述所有配置项依据配置空间划分为若干配置项集合;
将所述若干配置项集合按服务映射加载至对应服务组件的内存中。
2.如权利要求1所述服务集群的配置管理方法,其特征在于:进一步包括:检测所述配置项的维护状态,当当前配置项的维护状态为更新时,依据所述配置项所属的服务组件和配置空间信息重新向服务组件加载更新后的所述配置项。
3.如权利要求1所述服务集群的配置管理方法,其特征在于:在将所述若干配置项集合加载至对应服务组件之前,还包括:
依据所述若干配置项集合的配置空间从服务模板库中加载配置模板;
将所述若干配置项集合填充至对应的所述配置模板形成配置流,所述配置流存储在内存中,以将所述配置项集合以配置流形式加载至对应服务组件。
4.如权利要求3所述服务集群的配置管理方法,其特征在于:检测所述配置项的维护状态,当当前的配置项的维护状态为更新时,依据所述配置项所属的服务组件信息和配置空间信息确定需要更新的配置流,拉取所述需要更新的配置流的所有配置项并重新形成配置流。
5.如权利要求3所述服务集群的配置管理方法,其特征在于:还包括:将所述配置模板以配置空间信息命名存储在服...
【专利技术属性】
技术研发人员:韩少凡,卢始亮,张坤,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。