掌桥专利:专业的专利平台
掌桥专利
首页

分布式服务治理方法及其系统、计算机可读介质

文献发布时间:2023-06-19 10:58:46


分布式服务治理方法及其系统、计算机可读介质

技术领域

本发明涉及服务治理技术领域,具体地,涉及一种分布式服务治理方法及其系统、计算机可读介质。

背景技术

服务治理,也称为SOA治理,是指用来管理SOA的采用和实现的过程。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、Web Service技术之后的自然延伸。广大软件设计与开发人员对于SOA和服务治理的技术认知还主要停留在Web Service和ESB总线等技术和规范上,并没有真正在软件开发中得以充分落地。而在服务端侧,公司内部网络安全考虑,机房会将服务器分成不同区域且不同区域间网络无法直接连通,如DMZ隔离区和内网区中间增加防火墙,但公司软件系统总体架构上采取的是服务中台模式,这就需要不同网络区域在保证安全的前提下能够互相调用。传统的方式是在DMZ与内网之间搭建Nginx等中间件代理网络服务,这样的架构比较繁琐。

经过检索,专利文献CN110233886A公开了一种面向海量微服务的高可用服务治理系统及实现方法,系统包括服务端,客户端和地址管理端,该方法的步骤包括:服务提供者进行服务注册;服务端进行服务同步;服务提供者进行服务续租与过期;服务调用者进行服务调用;服务端地址发生变动时,在客户端和服务端中进行服务端地址同步。该现有技术的虽然明确保了海量微服务场景下,服务注册中心的高可用性,使用一致性哈希算法确定客户端与服务端的对应关系,但是不足之处在于需要搭建很多中间件服务才能实现服务的互相调用。

因此,亟需研发一种无需搭建中间件服务也能实现服务互相调用的功能的服务治理框架,以解决现有复杂的技术问题。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种分布式服务治理方法及其系统、计算机可读介质,能够提供高性能通讯、服务发现等服务治理能力以实现构建大规模微服务集群的远程服务调用方案。

根据本发明提供的一种分布式服务治理方法,包括如下步骤:

步骤S1:服务端将开放的服务信息到注册中心进行注册,并同时发布多个IP地址;

步骤S2:调用方进行订阅服务信息,解析订阅服务信息的参数信息并对服务端发布的多个IP地址进行标注;

步骤S3:调用方根据参数信息组装业务报文;

步骤S4:调用方将业务报文传送至服务端完成业务交互。

优选地,步骤1中服务端针对一个服务信息同时发布两层IP地址,包括外部IP地址和内部IP地址。

优选地,外部IP地址指代理IP地址,所述内部IP地址指本机IP地址。

优选地,服务信息包括应用程序编程接口信息,应用程序编程接口信息包括应用程序编程接口的地址、端口和参数信息。

优选地,步骤S2中的调用方包括处于内部网络的客户端或者处于外部网络的客户端,调用方允许根据当前的网络环境选择适配的IP地址进行服务间通讯。

优选地,步骤S2中调用方进行订阅的服务信息未在注册中心进行注册时,允许客户端向服务端发送业务请求,由服务端向注册中心注册业务请求对应的服务信息,通过注册中心发送服务节点更新通知信息至客户端。

优选地,步骤3包括如下步骤:

步骤3.1:调用方将参数信息分解为系统参数和业务参数;

步骤3.2:采用优选随机算法选取最优服务的系统参数,并组装请求服务节点信息。

优选地,订阅的服务信息需要发布新功能时,允许调用方在调用过程中进行灰度发布操作;灰度发布操作指在调用过程中内置标注,以区分匹配使用新功能的调用方或者使用老功能的调用方。

根据本发明提供的一种分布式服务治理系统,包括:

服务端:服务端将开放的服务信息到注册中心进行注册,并同时发布多个IP地址;

客户端:调用方进行订阅服务信息,解析订阅服务信息的参数信息并对服务端发布的多个IP地址进行标注,调用方根据参数信息组装业务报文并将业务报文传送至服务端完成业务交互;

代理模块:客户端与服务端之间设置有代理模块,通过代理模块直接实现IP地址的匹配并进行信息交互。

根据本发明提供的一种计算机可读介质,其存储有可由分布式服务治理系统执行的计算机程序,当计算机程序在分布式服务治理系统上运行时,使得分布式服务系统执行上述的分布式服务治理方法的步骤。

与现有技术相比,本发明具有如下的有益效果:

1、本发明通过采用服务端将开放的服务信息注册到注册中心的结构,解决了集群服务标准化统一发布服务的问题,达到了开放服务信息集中管理的效果。

2、本发明通过采用客户端从注册中心订阅服务信息的结构,解决了服务节点发生变更时及时通知到客户端的问题,达到了客户端随时取到正常运行的服务节点的效果。

3、本发明通过允许调用方在调用过程中内置标注,能够区分匹配使用新功能的调用方或者使用更新前的功能的调用方,并且保证调用方的安全,避免不成熟的新功能影响调用方的体验感。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明中分布式服务治理方法的整体流程图;

图2为本发明中优选随机算法的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

如图1所示,本发明提供了一种分布式服务治理方法,包括如下步骤:

步骤S1:服务端将开放的服务信息到注册中心进行注册,并且服务端针对一个服务信息同时发布两层IP地址,包括外部IP地址和内部IP地址,其中,外部IP地址指代理IP地址,所述内部IP地址指本机IP地址。进一步来说,服务信息包括应用程序编程接口信息,应用程序编程接口信息包括应用程序编程接口的地址、端口和参数信息。

步骤S2:调用方进行订阅服务信息,解析订阅服务信息的参数信息并对服务端发布的多个IP地址进行标注。调用方包括处于内部网络的客户端或者处于外部网络的客户端,调用方允许根据当前的网络环境选择适配的IP地址进行服务间通讯。

进一步来说,调用方加载配置参数进行标注,默认不对本机IP地址进行标注,当调用方在代理IP地址进行访问时,由于代理IP地址被进行标注过,则会直接经由标注的代理IP地址进行服务间通讯。

更进一步来说,如果调用方进行订阅的服务信息未在注册中心进行注册时,允许客户端向服务端发送业务请求,由服务端向注册中心注册业务请求对应的服务信息,通过注册中心发送服务节点更新通知信息至客户端,客户端即可以进行新注册的订阅服务信息。

步骤S3:调用方根据参数信息组装业务报文。

步骤S3.1:调用方将参数信息分解为系统参数和业务参数,其中,系统参数是指IP地址、端口等信息,业务参数是指标注参数。

步骤S3.2:采用优选随机算法选取最优服务的系统参数,并组装请求服务节点信息。

如图2所示,所谓优选随机算法是指在根节点下设服务节点,服务节点下设多个子节点,每个子节点的呈现情况不一样,比如:子节点A1代表正常的服务信息、子节点A2代表灰度的服务信息、子节点A3代表异常的服务信息等等,需要从中筛选出最优服务的系统参数。

步骤S4:调用方将业务报文传送至服务端完成业务交互。

本发明还提供了一种分布式服务治理系统,包括:

服务端:服务端将开放的服务信息到注册中心进行注册,并同时发布多个IP地址;

客户调用端:调用方进行订阅服务信息,解析订阅服务信息的参数信息并对服务端发布的多个IP地址进行标注,调用方根据参数信息组装业务报文并将业务报文传送至服务端完成业务交互;

代理模块:客户调用端与服务端之间设置有代理模块,通过代理模块直接实现IP地址的匹配并进行信息交互。

进一步来说,代理模块分为客户代理模块和服务代理模块,客户端调用客户代理模块上的注册服务,也就是说,实际上客户代理模块并不真正执行注册服务,而是通过客户代理模块去调用远程服务。接着,客户代理模块通过打包参数信息,由网络将二进制请求发送给服务代理模块。再由服务代理模块解析参数信息,将请求发送给服务端去调用注册服务;如果服务端上的注册服务被调用,则返回调用结果给服务代理模块;紧接着,服务代理模块打包调用结果通过网络将二进制结果发送给客户代理模块;最后,客户代理模块解析调用结果之后,返回给客户端。

优选地,当生产上运行的某个服务需要发布新的功能时,为了保证客户端的安全,会根据客户端情况选择小部分试用新的功能,客户端支持调用方在调用过程中内置特殊标示以区分不同用户请求,服务端会根据特殊标示选择路由到新功能或者老功能。

本发明中提到的服务信息包括应用程序编程接口信息,应用程序编程接口信息包括应用程序编程接口的地址、端口和参数信息。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 分布式服务治理方法及其系统、计算机可读介质
  • 分布式服务的权限控制方法、装置及计算机可读存储介质
技术分类

06120112754336