分布式部署统一配置和自动适配方法和系统的制作方法

文档序号:9380378阅读:444来源:国知局
分布式部署统一配置和自动适配方法和系统的制作方法
【技术领域】
[0001]本公开涉及分布式系统,具体地,本公开涉及一种差异化配置项自动加载的方法和系统。
【背景技术】
[0002]大型平台中存在多种分布式部署,由于并发量和性能的限制,需要进行服务部署水平扩展和服务分片,此时很多相关服务的配置信息项同时服务于多个服务模块,但只是配置值不同。
[0003]图1示出了现有技术中基于传统配置文件方式的分布式部署。首先,在步骤SlOl中,管理员根据服务需要建立不同的配置文件。在部署时修改对应配置文件的内容,如步骤S102所示。在步骤S103中,当服务启动时,不同的部署加载与其相对应的配置文件,以使各部署提供服务。如有配置变更,则停止服务(步骤S106),并回到步骤S102以再次修改配置文件的内容。由此可见,图1中所示的基于传统配置文件方式的分布式部署具有以下缺陷:需要在每个部署服务中都进行属性配置,这使得重复工作量大;当配置变更时,修改变更不方便,且容易出现配置项遗漏或出错;无法集中查看和管理配置项信息;无法做到配置热部署。
[0004]基于zookeeper的分布式配置管理方式同样是现有技术中常用的分布式部署方式。图2示出了基于zooke印er的分布式配置管理方式的分布式部署。首先管理员在zookeeper中心分配路径,创建对应的节点,并对节点赋值(步骤S201)。然后,在步骤S202中,当部署服务启动后,客户端连接zooke印er,根据节点路径获取相应的节点值并加载配置。然后判断有否存在配置变更(步骤S203)。如有配置变更(步骤S203中是),则在zookeeper中心对配置进行修改,然后zookeeper中心向客户端发节点变更通知(步骤S205)。然而,图2中所示的基于zooke^er的分布式配置管理方式存在以下缺陷:配置数据属性支持性比较单一,很难支持复杂数据结构;配置层级主要基于树形结构,扩展不方便,实现成本较高且权限控制不灵活;对客户端实现语言有限制,主要支持java和C,而其他语言支持有限;查询支持不好,很难实现个性化查询。

【发明内容】

[0005]根据对现有技术中的集中分布式部署系统的分析,可以看到现有技术仍存在以下技术问题:对于不同环境中的服务,无法根据运行时环境关键属性来自动识别部署实例;无法针对不同环境,实现差异化配置;当配置项变更时,部署实例无法做到无文件配置改动部署,即无法使分布式服务在部署环境下不做任何变更而实现配置项热加载。
[0006]具体地,根据本发明的第一方面,提供了一种差异化配置项自动加载系统中在配置管理服务端(302)处的配置管理与加载方法,所述方法包括以下步骤:根据拟部署的服务环境关键参数设定部署标识,按所述部署标识在中央数据库(307)中维护所述配置项;基于来自服务部署客户端(301)的请求,将与所述服务环境关键参数相关联的所述配置项加载到服务部署客户端(301)中的集中缓存中。
[0007]在一个实施例中,所述配置项包括key-value型配置、XML型配置、文本文件、二进制对象。
[0008]在一个实施例中,所述部署标识包括IP地址和/或部署路径,且所述部署标识唯一地标识一个部署实例。
[0009]在一个实施例中,维护所述配置项包括:利用操作界面来对配置项进行操作。
[0010]在一个实施例中,维护所述配置项包括:对数据进行序列化。
[0011]根据本发明的第二方面,提供了一种差异化配置项自动加载系统中在服务部署客户端(301)处的模块识别与配置读取方法,所述方法包括以下步骤:在所述部署启动时,向中央数据库(307)请求与服务环境关键参数相对应的所述配置项,并利用所述配置项启动所述部署;在所述部署的服务过程中,获取配置更新信息,当配置变更后自动加载最新的所述配置项。
[0012]在一个实施例中,所述配置项包括key-value型配置、XML型配置、文本文件、二进制对象。
[0013]在一个实施例中,请求与服务环境关键参数相对应的所述配置项包括:查找与服务环境关键参数相对应的部署标识;当找到所述部署标识时,读取与所述部署标识相对应的配置项,以利用所述配置项启动所述部署;
[0014]在一个实施例中,所述部署标识包括IP地址和/或部署路径,且所述部署标识唯一地标识一个部署实例。
[0015]在一个实施例中,所述获取配置更新信息包括定时获取更新和/或有条件刷新。
[0016]在一个实施例中,所述有条件刷新包括:管理端利用刷新接口来触发所述配置项的刷新。
[0017]在一个实施例中,当配置变更后自动加载最新的所述配置项包括:增量配置项加载和/或全量配置项加载。
[0018]根据本发明的第三方面,提供了一种差异化配置项自动加载系统中的配置管理服务端(302),所述配置管理服务端(302)包括:配置项集中管理装置(305),被配置为:根据拟部署的服务环境关键参数设定部署标识,按所述部署标识在中央数据库(307)中维护所述配置项;配置项加载与缓存装置(306),被配置为:基于来自服务部署客户端(301)的请求,将与所述服务环境关键参数相关联的所述配置项加载到服务部署客户端(301)中的集中缓存中。
[0019]在一个实施例中,所述配置项包括key-value型配置、XML型配置、文本文件、二进制对象。
[0020]在一个实施例中,所述部署标识包括IP地址和/或部署路径,且所述部署标识唯一地标识一个部署实例。
[0021]在一个实施例中,所述配置项集中管理装置(305)还被配置为:利用操作界面来对配置项进行操作。
[0022]在一个实施例中,所述配置项集中管理装置(305)还被配置为:对数据进行序列化。
[0023]根据本发明的第四方面,提供了一种差异化配置项自动加载系统中的服务部署客户端(301),所述服务部署客户端(301)包括:部署自动识别装置(303),被配置为:在所述部署启动时,向中央数据库(307)请求与服务环境关键参数相对应的所述配置项,并利用所述配置项启动所述部署;配置读取刷新装置(304),被配置为:在所述部署的服务过程中,获取配置更新信息,当配置变更后自动加载最新的所述配置项。
[0024]在一个实施例中,所述配置项包括key-value型配置、XML型配置、文本文件、二进制对象。
[0025]在一个实施例中,所述部署自动识别装置(303)还被配置为:查找与服务环境关键参数相对应的部署标识;当找到所述部署标识时,读取与所述部署标识相对应的配置项,以利用所述配置项启动所述部署;
[0026]在一个实施例中,所述部署标识包括IP地址和/或部署路径,且所述部署标识唯一地标识一个部署实例。
[0027]在一个实施例中,所述配置读取刷新装置(304)还被配置为:定时获取更新和/或有条件刷新。
[0028]在一个实施例中,所述有条件刷新包括:管理端利用刷新接口来触发所述配置项的刷新。
[0029]在一个实施例中,所述配置读取刷新装置(304)还被配置为:增量配置项加载和/或全量配置项加载。
[0030]根据本发明的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括由处理器执行的指令,当所述指令被处理器执行时使所述处理器实现根据所述第一方面中所述的在配置管理服务端(302)处的配置管理与加载方法。
[0031]根据本发明的第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括由处理器执行的指令,当所述指令被处理器执行时使所述处理器实现根据所述第二方面中所述的在服务部署客户端(301)处的模块识别与配置读取方法。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1