CN115037617A - 一种dubbo服务治理的优化方法及装置 - Google Patents

一种dubbo服务治理的优化方法及装置 Download PDF

Info

Publication number
CN115037617A
CN115037617A CN202210530901.6A CN202210530901A CN115037617A CN 115037617 A CN115037617 A CN 115037617A CN 202210530901 A CN202210530901 A CN 202210530901A CN 115037617 A CN115037617 A CN 115037617A
Authority
CN
China
Prior art keywords
cluster
service
routing rule
upgraded
multiple clusters
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
Application number
CN202210530901.6A
Other languages
English (en)
Inventor
何谦
李志强
张�林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210530901.6A priority Critical patent/CN115037617A/zh
Publication of CN115037617A publication Critical patent/CN115037617A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Abstract

本申请实施例中公开了一种dubbo服务治理的优化方法及装置,所述方法包括:使用蓝绿发布的方式对单注册中心中的多集群进行升级;根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。在dubbo服务架构下,通过预先建立的针对于集群的服务治理模型,为集群配置相应的路由规则,根据可配置化的路由规则,有效实现集群服务隔离,提高多集群系统服务集中管控能力,能够保证集群服务调用的规范化及条理化。本申请提供的多集群在单注册中心中实现服务调用的方案,解决了多集群在单注册中心出现的服务调用混乱问题。

Description

一种dubbo服务治理的优化方法及装置
技术领域
本申请涉及互联网技术领域,特别涉及一种dubbo服务治理的优化方法及装置。
背景技术
随着互联网的发展,越来越多的互联网产品采用dubbo的分布式服务框架,该框架最大的特点就是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合。而一般采用敏捷开发的团队,基本上保持每周一次的发布频率,随着互联网产品的不断升级,传统采用dubbo框架的蓝绿发布进行产品更新的方式,需要为每个集群搭建对应的注册中心,导致服务难以集中管控;而采用单注册中心执行蓝绿发布方式的产品更新,则会产生服务调用混乱的问题。
因此,如何克服现有管控方式存在的技术缺陷,提供一种在dubbo服务架构下,多集群在单注册中心集中管控,以实现集群服务调用规范化的方法,是本领域技术人员亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种dubbo服务治理的优化方法,能够有效实现集群服务隔离,提高集群系统服务集中管控能力,以规范集群服务在单注册中心的调用,进而解决多集群服务在单一注册中心调用混乱的问题。其具体方案如下:
第一方面,本申请实施例提供了一种dubbo服务治理的优化方法,所述方法包括:
使用蓝绿发布的方式对单注册中心中的多集群进行升级;
根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;
将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。
优选的,所述使用蓝绿发布的方式对单注册中心中的多集群进行升级,包括:
选择未升级的所述多集群中的一个集群为目标集群;
将所述目标集群从负载列表中渐出,然后对所述目标集群进行系统升级,将升级后的目标集群渐入到所述负载列表中;
将升级后的目标集群作为提供服务的集群,重新开始选择未升级的所述多集群中的一个集群为目标集群的步骤,直至完成所述多集群中全部集群的升级;
将完成升级的多集群分别提供的服务注册在所述单注册中心。
优选的,所述根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则,具体包括:
在所述服务治理模型中,基于IP粒度制定所述路由规则;
为所述多集群配置所述路由规则,所述路由规则表示提供服务的集群与消费者之间的对应关系。
优选的,所述根据所述路由规则对所述升级后的多集群分别提供的服务进行治理,包括:
接收消费者的服务请求;
根据所述路由规则从所述升级后的多集群中选择出能够为所述消费者提供服务的集群;
将所述服务请求发送至所述能够为所述消费者提供服务的集群。
优选的,所述将所述路由规则写入所述单注册中心,包括:
根据系统配置表对所述多集群对应的路由规则进行批量更新,得到更新后的路由规则;
将所述更新后的路由规则写入所述单注册服务中心。
优选的,所述根据系统配置表对所述多集群对应的路由规则进行批量更新,包括:
根据系统配置表获取路由规则清单;
获取所述多集群提供当前服务时配置的当前路由规则;
判断所述路由规则清单中是否存在与所述当前路由规则的名称相同的系统路由规则;
若存在,则判断所述当前路由规则的内容是否与所述系统路由规则的内容相同;
若不相同,则删除所述当前路由规则,为所述当前服务配置所述系统路由规则。
优选的,所述根据系统配置表对所述多集群对应的路由规则进行批量更新,还包括:
若所述当前服务没有配置路由规则,则为所述当前服务配置所述系统路由规则。
第二方面,本申请实施例提供了一种dubbo服务治理的优化装置,所述装置包括:
多集群升级模块,用于使用蓝绿发布的方式对单注册中心中的多集群进行升级;
配置模块,用于根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;
服务治理模块,用于将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。
优选的,所述多集群升级模块包括:
选择子模块,用于选择未升级的所述多集群中的一个集群为目标集群;
升级子模块,用于将所述目标集群从负载列表中渐出,然后对所述目标集群进行系统升级,将升级后的目标集群渐入到所述负载列表中;
循环子模块,用于将升级后的目标集群作为提供服务的集群,重新开始选择未升级的所述多集群中的一个集群为目标集群的步骤,直至完成所述多集群中全部集群的升级;
注册子模块,用于将完成升级的多集群分别提供的服务注册在所述单注册中心。
优选的,所述配置模块包括:
制定子模块,用于在所述服务治理模型中,基于IP粒度制定所述路由规则;
配置子模块,用于为所述多集群配置所述路由规则,所述路由规则表示提供服务的集群与消费者之间的对应关系。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第四方面,本申请实施例提供dubbo服务治理的优化系统,所述系统包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述系统执行如前述第一方面中任一项所述的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
与现有技术相比,本申请包括以下优点:
本申请公开了一种dubbo服务治理的优化方法,所述方法包括:使用蓝绿发布的方式对单注册中心中的多集群进行升级;根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。在dubbo服务架构下,通过预先建立的针对于集群的服务治理模型,为集群配置相应的路由规则,根据可配置化的路由规则,有效实现集群服务隔离,提高多集群系统服务集中管控能力,能够保证集群服务调用的规范化及条理化。本申请提供的多集群在单注册中心中实现服务调用的方案,解决了多集群在单注册中心出现的服务调用混乱问题。
附图说明
图1为本申请实施例中一种dubbo服务治理的优化方法的流程示意图;
图2a为本申请实施例中集群A和集群B正常运行的示意图;
图2b为本申请实施例中集群A处于维护状态,集群B正常运行的示意图;
图2c为本申请实施例中集群B处于维护状态,完成升级的集群A正常运行的示意图;
图2d为本申请实施例中完成升级的集群A和完成升级的集群B重新正常运行的示意图;
图3为本申请实施例中执行有效dubbo服务治理的结构图;
图4为本申请实施例中一种dubbo服务治理的优化装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
首先对本申请实施例中的术语进行说明:
服务治理:服务治理(SOA governance)按照Anne Thomas Manes的定义是:企业为了确保事情顺利完成而实施的过程,包括最佳实践、架构原则、治理规程、规律以及其他决定性的因素。服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。
注册中心:单体服务拆分为微服务后,如果微服务之间存在调用依赖,就需要得到目标服务的服务地址,也就是微服务治理的服务发现。要完成服务发现,就需要将服务信息存储到某个载体,载体本身即是微服务治理的注册中心。
路由规则:路由规则在发起一次RPC(Remote Procedure Call Protocol,远程过程调用)调用前,起到过滤目标服务器地址的作用,过滤后的地址列表,将作为消费端最终发起RPC调用的备选地址。主要包括条件路由和标签路由两种。前者支持以服务或服务消费者(Consumer)应用为粒度配置路由规则,后者以服务提供者(Provider)应用为粒度配置路由规则。Dubbo(分布式服务框架)的路由机制主要解决的目的就是服务调用时,从已知的所有服务提供者中根据路由规则刷选服务提供者。
为了便于理解本申请实施例提供的技术方案,下面结合附图对本申请实施例提供的一种dubbo服务治理的优化方法进行说明。
参见图1,该图为本申请实施例提供的一种dubbo服务治理的优化方法的流程示意图,该方法应用于采用蓝绿发布方式更新系统的集群,基于dubbo进行服务治理的优化,包括如下步骤S1至S3:
S1:使用蓝绿发布的方式对单注册中心中的多集群进行升级。
很多产品都采用蓝绿发布的策略,避免长时间的停机发布,造成的客户流失及用户体验差的风险。蓝绿发布策略的主要思想就是先发布一个集群,再切换到另外一个集群进行升级,实现新旧服务平滑过度。
蓝绿发布策略部署新版本系统原理上是通过冗余来解决问题,通常生产环境需要两组配置(蓝绿配置),一组是绿配置(active)的生产环境的配置,一组是蓝配置(inactive)的生产环境的配置。用户访问的时候,只会让用户访问active的服务器集群。在绿色环境active运行当前生产环境中的应用,也就是旧版本应用version1;当需要升级到新版本应用version2时,在蓝色环境inactive中进行操作,即部署新版本应用,并进行测试。如果测试没问题,就可以把负载均衡器、反向代理、路由指向蓝色环境inactive。随后需要监测新版本应用version2是否存在故障和异常。如果运行良好,就可以删除旧版本应用version1使用的资源。如果运行出现了问题,则可以通过负载均衡器指向快速回滚到绿色环境active。
本申请实施例中,前述步骤S1使用蓝绿发布的方式对单注册中心中的多集群进行升级的具体实现步骤,包括如S11至S14所示:
S11:选择未升级的所述多集群中的一个集群为目标集群。
本申请实施例中,以多集群为集群A和集群B两个集群为例进行说明。蓝绿发布策略采用集群A和集群B这两个集群实现,参见图2a,该图为本申请实施例中集群A和集群B正常运行的示意图。在正常运行时,集群A和集群B通过F5负载均衡同时为用户提供服务。在实行变更时,指定任意一个集群为目标集群,例如指定的目标集群为集群A,在集群A中部署新版本系统。
S12:将所述目标集群从负载列表中渐出,然后对所述目标集群进行系统升级,将升级后的目标集群渐入到所述负载列表中。
参见图2b,该图为本申请实施例中集群A处于维护状态,集群B正常运行的示意图。将集群A从F5负载列表中渐出,在集群A中部署新版本系统,此时集群A处于维护状态,只有集群B为消费者提供服务。当集群A完成新版本系统的部署后,将升级后的集群A渐入到F5负载列表中。
S13:将升级后的目标集群作为提供服务的集群,重新开始选择未升级的所述多集群中的一个集群为目标集群的步骤,直至完成所述多集群中全部集群的升级。
参见图2c,该图为本申请实施例中集群B处于维护状态,完成升级的集群A正常运行的示意图。在集群A完成升级并渐入F5负载列表后,选择未升级的集群B作为目标集群,将集群B从F5负载列表中渐出,在集群B中部署新版本系统,此时集群B处于维护状态,只有集群A为消费者提供服务。当集群B完成新版本系统的部署后,将升级后的集群B渐入到F5负载列表中,此时集群A和集群B均已完成版本更新,升级后的集群A和升级后的集群B再同时提供服务。
S14:将完成升级的多集群分别提供的服务注册在所述单注册中心。
参见图2d,该图为本申请实施例中完成升级的集群A和完成升级的集群B重新正常运行的示意图。此时完成系统新版本的发布,使用蓝绿发布的方式完成了单注册中心的系统升级。
以上步骤S11至S14为使用蓝绿发布的方式对单注册中心中的多集群进行升级,为升级后的多集群配置路由规则。
S2:根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则。
本申请实施例中,在完成新版本发布后,当服务消费者调用时,会随机获取集群A和集群B的服务提供者,集群A的消费者可能调用集群B的服务者,集群B的消费者可能调用集群A的服务者,会造成服务调用混乱的问题。此时通过配置化路由,为消费者指定服务提供者。
优选的,在所述服务治理模型中,基于IP粒度制定所述路由规则;为所述多集群配置所述路由规则,所述路由规则表示提供服务的集群与消费者之间的对应关系。
本申请实施例中,两个或多个集群将服务注册在同一个注册中心,例如存在集群A和集群B两个集群,这两个集群将服务注册在同一个注册中心Z。为了让集群A的消费者只能消费集群A提供的服务,集群B的消费者只能消费集群B提供的服务,从IP粒度进行服务路由规则的制定,例如,需要配置集群A消费者使用集群A提供的服务,集群B消费者使用集群B提供的服务,设置路由模型参数为host=costumer A=>host=service A;host=costumerB=>host=service B。指定customer A的IP只能消费service A的IP提供的服务,指定customer B的IP只能消费service B的IP提供的服务。该路由模型的参数设置即为路由规则的制定,是包含了服务提供者、服务消费者之间的对应关系的程序。根据具体服务提供者的IP地址和消费者服务器的IP地址,将具体的地址放入路由规则中,利用路由规则可以制定消费者和服务者的特性以应用于服务治理。
构建服务治理模型的核心代码如下:
RegistryFactory registryFactory=
ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry=
registryFactory.getRegistry(URL.valueOf("zookeeper://ZKIP"));
registry.register(URL.valueOf("condition://0.0.0.0/com.foo.BarService?category=routers&dynamic=false&rule="+URL.encode("host=costumer A=>host=service A")));
其中:
condition://表示路由规则的类型,支持条件路由规则和脚本路由规则,可扩展,必填。
ZKIP表示对指定的地址生效,如果只想对所有的IP的生效,请填入0.0.0.0,必填。
com.foo.BarService表示只对指定服务生效,必填。
group=foo表示对指定服务的指定group生效,不填表示对未配置group的指定服务生效。
version=1.0表示对指定服务的指定version生效,不填表示对未配置version的指定服务生效。
category=routers表示该数据为动态配置类型,必填。
dynamic=false表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。
enabled=true表示覆盖规则是否生效,可不填,缺省生效。
force=false表示当路由结果为空时,是否强制执行,如果不强制执行,路由结果为空的路由规则将自动失效,可不填,缺省为false。
runtime=false表示是否在每次调用时执行路由规则,否则只在服务提供者地址列表变更时预先执行并缓存结果,调用时直接从缓存中获取路由结果。如果用了参数路由,必须设为true,需要注意设置会影响调用的性能,可不填,缺省为false。
priority=1表示路由规则的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为0。
rule=URL.encode(“host=costumer A=>host=service A”)表示路由规则的内容,必填。
通过以上方式,实现路由规则的可配置化,建立了集群消费者与服务提供者之间的关系,对多集群服务进行集中管控,实现多集群在同一个注册中心中服务调用的有效治理。
S3:将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。
本申请实施例中,当完成服务治理模型的参数配置后,使用批量脚本进行旧规则的删除和新规则的写入,批量任务每天执行一次路由规则检查和更新,检查和更新的路由规则,获取zookeeper服务器注册的所有service;获取各service的所有提供者、消费者和路由规则,给所有service注册或更新最新的集群A和集群B隔离路由规则,路由规则取自系统配置表。
在完成路由规则配置后,需要将配置好的路由规则写入单注册中心,以便单注册中心基于路由规则完成规范化的服务治理。优选的,所述将所述路由规则写入所述单注册中心,包括:根据系统配置表对所述多集群对应的路由规则进行批量更新,得到更新后的路由规则;将所述更新后的路由规则写入所述单注册服务中心,以便单注册中心启用服务治理模型进行服务治理。
优选的,所述根据系统配置表对所述多集群对应的路由规则进行批量更新,包括:根据系统配置表获取路由规则清单;获取所述多集群提供当前服务时配置的当前路由规则;判断所述路由规则清单中是否存在与所述当前路由规则的名称相同的系统路由规则;若存在,则判断所述当前路由规则的内容是否与所述系统路由规则的内容相同;若不相同,则删除所述当前路由规则,为所述当前服务配置所述系统路由规则。
优选的,所述根据系统配置表对所述多集群对应的路由规则进行批量更新,还包括:若当前服务没有配置路由规则,则为所述当前服务配置所述系统路由规则。
本申请实施例中,遍历系统配置表中配置的路由规则清单,遍历每个服务,遍历该服务的每个路由规则;若路由规则名字与系统参数配置表中配置的路由规则清单存在相同,但路由规则的具体内容不一致,则删除该路由规则,重新注册新的路由规则;若该服务没有路由规则,则对该服务新注册路由规则。通过上述操作进行旧规则的删除和新规则的写入,以保证消费者与服务提供者之间的路由规则为最新的路由规则,方便单注册中心进行有效的服务治理。
参见图3,该图为本申请实施例中执行有效dubbo服务治理的结构图。优选的,在将所述路由规则写入所述单注册中心之后,所述根据所述路由规则对所述升级后的多集群分别提供的服务进行治理,包括:接收消费者的服务请求;根据所述路由规则从所述升级后的多集群中选择出能够为所述消费者提供服务的集群;将所述服务请求路由至所述能够为所述消费者提供服务的集群。
本申请实施例中提供了一种dubbo服务治理的优化方法,所述方法包括:使用蓝绿发布的方式对单注册中心中的多集群进行升级;根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。在dubbo服务架构下,通过预先建立的针对于集群的服务治理模型,为集群配置相应的路由规则,根据可配置化的路由规则,有效实现集群服务隔离,提高多集群系统服务集中管控能力,能够保证集群服务调用的规范化及条理化。本申请根据多集群单注册中心的场景,提供了多集群在单注册中心中实现服务调用的方案,创新性的将路由规则应用在集群发布上,解决了多集群在单注册中心发布需要部署不一致程序包,导致出现多集群在单注册中心出现的服务调用混乱问题,通过上述操作,能够减少运维人员工作量。
前述本申请实施例提供基于上述的一种dubbo服务治理的优化方法。接下来说明本申请实施例中还提供的一种dubbo服务治理的优化装置,该装置执行前述图1所示的方法,接下来对dubbo服务治理的优化装置的功能进行说明,所述dubbo服务治理的优化装置的结构框图如图4所示,包括:
多集群升级模块401、配置模块402以及服务治理模块403。
其中,
多集群升级模块401,用于使用蓝绿发布的方式对单注册中心中的多集群进行升级;
配置模块402,用于根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;
服务治理模块403,用于将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。
优选的,所述多集群升级模块包括:
选择子模块,用于选择未升级的所述多集群中的一个集群为目标集群;
升级子模块,用于将所述目标集群从负载列表中渐出,然后对所述目标集群进行系统升级,将升级后的目标集群渐入到所述负载列表中;
循环子模块,用于将升级后的目标集群作为提供服务的集群,重新开始选择未升级的所述多集群中的一个集群为目标集群的步骤,直至完成所述多集群中全部集群的升级;
注册子模块,用于将完成升级的多集群分别提供的服务注册在所述单注册中心。
优选的,所述配置模块包括:
制定子模块,用于在所述服务治理模型中,基于IP粒度制定所述路由规则;
配置子模块,用于为所述多集群配置所述路由规则,所述路由规则表示提供服务的集群与消费者之间的对应关系。
本申请实施例中提供了一种dubbo服务治理的优化装置,所述装置包括多集群升级模块、配置模块以及服务治理模块;其中,多集群升级模块用于使用蓝绿发布的方式对单注册中心中的多集群进行升级;配置模块用于根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;服务治理模块用于将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。在dubbo服务架构下,通过预先建立的针对于集群的服务治理模型,为集群配置相应的路由规则,根据可配置化的路由规则,有效实现集群服务隔离,提高多集群系统服务集中管控能力,能够保证集群服务调用的规范化及条理化。本申请根据多集群单注册中心的场景,提供了多集群在单注册中心中实现服务调用的方案,创新性的将路由规则应用在集群发布上,解决了多集群在单注册中心发布需要部署不一致程序包,导致出现多集群在单注册中心出现的服务调用混乱问题,通过上述操作,能够减少运维人员工作量。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种dubbo服务治理的优化方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种dubbo服务治理的优化方法,其特征在于,所述方法包括:
使用蓝绿发布的方式对单注册中心中的多集群进行升级;
根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;
将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。
2.根据权利要求1所述的方法,其特征在于,所述使用蓝绿发布的方式对单注册中心中的多集群进行升级,包括:
选择未升级的所述多集群中的一个集群为目标集群;
将所述目标集群从负载列表中渐出,然后对所述目标集群进行系统升级,将升级后的目标集群渐入到所述负载列表中;
将升级后的目标集群作为提供服务的集群,重新开始选择未升级的所述多集群中的一个集群为目标集群的步骤,直至完成所述多集群中全部集群的升级;
将完成升级的多集群分别提供的服务注册在所述单注册中心。
3.根据权利要求1所述的方法,其特征在于,所述根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则,具体包括:
在所述服务治理模型中,基于IP粒度制定所述路由规则;
为所述多集群配置所述路由规则,所述路由规则表示提供服务的集群与消费者之间的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述路由规则对所述升级后的多集群分别提供的服务进行治理,包括:
接收消费者的服务请求;
根据所述路由规则从所述升级后的多集群中选择出能够为所述消费者提供服务的集群;
将所述服务请求发送至所述能够为所述消费者提供服务的集群。
5.根据权利要求1所述的方法,其特征在于,所述将所述路由规则写入所述单注册中心,包括:
根据系统配置表对所述多集群对应的路由规则进行批量更新,得到更新后的路由规则;
将所述更新后的路由规则写入所述单注册服务中心。
6.根据权利要求5所述的方法,其特征在于,所述根据系统配置表对所述多集群对应的路由规则进行批量更新,包括:
根据系统配置表获取路由规则清单;
获取所述多集群提供当前服务时配置的当前路由规则;
判断所述路由规则清单中是否存在与所述当前路由规则的名称相同的系统路由规则;
若存在,则判断所述当前路由规则的内容是否与所述系统路由规则的内容相同;
若不相同,则删除所述当前路由规则,为所述当前服务配置所述系统路由规则。
7.根据权利要求6所述的方法,其特征在于,所述根据系统配置表对所述多集群对应的路由规则进行批量更新,还包括:
若所述当前服务没有配置路由规则,则为所述当前服务配置所述系统路由规则。
8.一种dubbo服务治理的优化装置,其特征在于,所述装置包括:
多集群升级模块,用于使用蓝绿发布的方式对单注册中心中的多集群进行升级;
配置模块,用于根据预先构建的服务治理模型为升级后的多集群配置对应的路由规则;
服务治理模块,用于将所述路由规则写入所述单注册中心,根据所述路由规则对所述升级后的多集群分别提供的服务进行治理。
9.根据权利要求8所述的装置,其特征在于,所述多集群升级模块包括:
选择子模块,用于选择未升级的所述多集群中的一个集群为目标集群;
升级子模块,用于将所述目标集群从负载列表中渐出,然后对所述目标集群进行系统升级,将升级后的目标集群渐入到所述负载列表中;
循环子模块,用于将升级后的目标集群作为提供服务的集群,重新开始选择未升级的所述多集群中的一个集群为目标集群的步骤,直至完成所述多集群中全部集群的升级;
注册子模块,用于将完成升级的多集群分别提供的服务注册在所述单注册中心。
10.根据权利要求8所述的装置,其特征在于,所述配置模块包括:
制定子模块,用于在所述服务治理模型中,基于IP粒度制定所述路由规则;
配置子模块,用于为所述多集群配置所述路由规则,所述路由规则表示提供服务的集群与消费者之间的对应关系。
CN202210530901.6A 2022-05-16 2022-05-16 一种dubbo服务治理的优化方法及装置 Pending CN115037617A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210530901.6A CN115037617A (zh) 2022-05-16 2022-05-16 一种dubbo服务治理的优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210530901.6A CN115037617A (zh) 2022-05-16 2022-05-16 一种dubbo服务治理的优化方法及装置

Publications (1)

Publication Number Publication Date
CN115037617A true CN115037617A (zh) 2022-09-09

Family

ID=83121151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210530901.6A Pending CN115037617A (zh) 2022-05-16 2022-05-16 一种dubbo服务治理的优化方法及装置

Country Status (1)

Country Link
CN (1) CN115037617A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110047084A1 (en) * 2008-04-14 2011-02-24 Antonio Manzalini Distributed service framework
CN110740172A (zh) * 2019-09-29 2020-01-31 北京淇瑀信息科技有限公司 一种基于微服务架构的路由管理方法、装置和系统
CN112073240A (zh) * 2020-09-04 2020-12-11 上海浦东发展银行股份有限公司 一种基于注册中心组件的蓝绿部署系统、方法及存储介质
CN112468492A (zh) * 2020-11-25 2021-03-09 银盛支付服务股份有限公司 一种基于dubbo服务分组的路由的方法
CN112738184A (zh) * 2020-12-24 2021-04-30 上海家睦网络科技有限公司 一种插件式动态注册分布式微服务网关系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110047084A1 (en) * 2008-04-14 2011-02-24 Antonio Manzalini Distributed service framework
CN110740172A (zh) * 2019-09-29 2020-01-31 北京淇瑀信息科技有限公司 一种基于微服务架构的路由管理方法、装置和系统
CN112073240A (zh) * 2020-09-04 2020-12-11 上海浦东发展银行股份有限公司 一种基于注册中心组件的蓝绿部署系统、方法及存储介质
CN112468492A (zh) * 2020-11-25 2021-03-09 银盛支付服务股份有限公司 一种基于dubbo服务分组的路由的方法
CN112738184A (zh) * 2020-12-24 2021-04-30 上海家睦网络科技有限公司 一种插件式动态注册分布式微服务网关系统

Similar Documents

Publication Publication Date Title
US20220321430A1 (en) System and method for providing a service management engine for use with a cloud computing environment
US9201639B2 (en) System and method for service definition packages for use with a cloud computing environment
US9424024B2 (en) System and method for elasticity management of services with a cloud computing environment
US9357034B2 (en) System and method for orchestration of services for use with a cloud computing environment
US9323517B2 (en) System and method for dynamic modification of service definition packages with a cloud computing environment
US9760358B2 (en) System and method for test to production support in a cloud platform environment
US9043370B2 (en) Online database availability during upgrade
US9075661B2 (en) Placing objects on hosts using hard and soft constraints
US20120102480A1 (en) High availability of machines during patching
RU2417416C2 (ru) Развертывание решений в ферме серверов
US8799453B2 (en) Managing networks and machines for an online service
US8751656B2 (en) Machine manager for deploying and managing machines
WO2012054192A2 (en) Web service patterns for globally distributed service fabric
CN106161049A (zh) 一种实现网络服务部署规格配置的方法及装置
US20120102484A1 (en) Installing software remotely using a high privilege process
US7996500B2 (en) Systems and methods for extensible distributed configuration management
Tang et al. Application centric lifecycle framework in cloud
CN115037617A (zh) 一种dubbo服务治理的优化方法及装置
WO2013188691A1 (en) System and method for supporting implicit versioning in a transactional middleware machine environment

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