CN110262902A - 信息处理方法及系统、介质和计算设备 - Google Patents

信息处理方法及系统、介质和计算设备 Download PDF

Info

Publication number
CN110262902A
CN110262902A CN201910409288.0A CN201910409288A CN110262902A CN 110262902 A CN110262902 A CN 110262902A CN 201910409288 A CN201910409288 A CN 201910409288A CN 110262902 A CN110262902 A CN 110262902A
Authority
CN
China
Prior art keywords
micro services
information
service
registration
registration center
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.)
Granted
Application number
CN201910409288.0A
Other languages
English (en)
Other versions
CN110262902B (zh
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.)
Hangzhou Netease Shuzhifan Technology Co ltd
Original Assignee
Hangzhou Langhe Technology Co Ltd
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 Hangzhou Langhe Technology Co Ltd filed Critical Hangzhou Langhe Technology Co Ltd
Priority to CN201910409288.0A priority Critical patent/CN110262902B/zh
Publication of CN110262902A publication Critical patent/CN110262902A/zh
Application granted granted Critical
Publication of CN110262902B publication Critical patent/CN110262902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本发明的实施方式提供了一种信息处理方法,应用于管控服务器,方法包括:获取已注册微服务的第一服务实例信息和第一注册中心类型,响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型,以及基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务。在微服务架构下,通过管控服务器实现服务实例信息的同步,可以实现在多语言、多注册中心等复杂场景下,众多微服务之间能够互相发现的技术效果。此外,本发明的实施方式还提供了一种信息处理系统、介质和计算设备。

Description

信息处理方法及系统、介质和计算设备
技术领域
本发明的实施方式涉及微服务架构领域,更具体地,本发明的实施方式涉及一种信息处理方法及装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在微服务架构下,传统的单体服务被拆分成若干个具备独立功能特性的微服务,为了使微服务保持健康有序的运行状态,需要对微服务进行治理,即对众多微服务的注册、发现、路由、负载均衡、降级等功能进行统一管理,并对微服务配置治理策略,改变微服务的调用、容错行为。
相关技术提供了一些针对微服务的治理方案,涉及治理策略的配置、治理策略的形式以及治理信息的模型。
对于治理策略配置,可以基于静态配置,即在微服务启动前以静态文件方式配置治理策略,在微服务启动时读取文件配置使得服务运行生效。也可以基于单向接口,即通过调用服务本身提供的配置接口完成治理策略配置。还可以基于消息中间件,即配置的治理策略以消息形式发送至消息中间件,微服务本身监听消息中间件以获取对应配置治理策略消息。
对于治理策略的具体形式,多采用与治理框架对应的方式,通过与治理框架相应功能对应,完成治理功能的配置。
对于治理信息的模型,多采用对应功能相对分散的方式。例如,对应注册、发现、路由、负载均衡、降级等功能,建立相应的注册与发现模型、路由信息模型、负载均衡模型、降级模型等数据结构。当有更多的治理功能时,需要增加数据结构。而对于服务注册、发现信息,多通过微服务基于其使用的注册中心选择获取服务与实例信息。
发明内容
然而,在实现本发明构思的过程中,发明人发现相关技术提供的微服务治理方案存在以下不足:
(1)通过静态配置或单向接口进行治理策略配置,无法实现微服务动态、高效的实时治理,灵活性与通用性也不理想。通过消息中间件进行治理策略配置,由于引入中心服务节点,一旦出现故障即会导致全部配置无法正常工作。
(2)与治理框架本身对应的治理策略形式,虽方便了框架本身对策略的解析,但不具备较好的灵活性和通用性,在更多治理功能和数据模型出现后较难扩展。
(3)相对分散的治理信息模型,不利于形成抽象、易扩展的统一治理信息模型,容易造成框架实现时各自造轮子,重复解决模型问题的低效实现方式。传统的微服务基于其使用的注册中心选择获取服务与实例信息虽可实现服务注册、发现功能,但在微服务集群中存在多语言、多注册中心等复杂场景时,微服务可能需要引入各种语言与类型的注册中心,几乎无法完成复杂场景下微服务的互相发现。
为此,非常需要一种改进的信息处理方法,使得在微服务架构中,存在多语言、多注册中心的复杂场景下,多个微服务之间能够互相发现,以克服相关技术所导致的上述问题。
在本上下文中,本发明的实施方式期望提供一种信息处理方法及其系统、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种信息处理方法,应用于管控服务器,上述方法包括:获取已注册微服务的第一服务实例信息和第一注册中心类型,响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型,以及基于上述第一注册中心类型与上述第二注册中心类型是否一致的检测结果,将基于上述第一服务实例信息生成的第一同步信息同步至上述新注册微服务,同时将基于上述第二服务实例信息生成的第二同步信息同步至上述已注册微服务。
在本发明的一个实施例中,上述基于上述第一注册中心类型与上述第二注册中心类型是否一致的检测结果,将基于上述第一服务实例信息生成的第一同步信息同步至上述新注册微服务,同时将基于上述第二服务实例信息生成的第二同步信息同步至上述已注册微服务包括:在上述检测结果指示上述第一注册中心类型与上述第二注册中心类型不一致的情况下,基于上述第一服务实例信息生成符合通用数据模型的上述第一同步信息,并基于上述第二服务实例信息生成符合上述通用数据模型的上述第二同步信息,以及将上述第一同步信息同步至上述新注册微服务,同时将上述第二同步信息同步至上述已注册微服务。
在本发明的另一实施例中,上述方法还包括:在上述检测结果指示上述第一注册中心类型和上述第二注册中心类型一致的情况下,确定上述第一服务实例信息为上述第一同步信息,并确定上述第二服务实例信息为上述第二同步信息,以及将上述第一同步信息同步至上述新注册微服务,同时将上述第二同步信息同步至上述已注册微服务。
在本发明的再一个实施例中,上述方法还包括:在上述已注册微服务部署多个第一服务实例且在上述多个第一服务实例满足部署规则的情况下,将监听到的上述多个第一服务实例对应的第一治理信息,发送至上述已注册微服务的上述多个第一服务实例,以使得上述已注册微服务能够基于上述第一治理信息配置上述多个第一服务实例。
在本发明的再又一个实施例中,上述管控服务器部署多个实例节点,上述多个第一服务实例满足部署规则包括:上述多个第一服务实例与上述多个实例节点中的至少一个实例节点连接。
在本发明的再又一个实施例中,上述将监听到的上述多个第一服务实例对应的第一治理信息,发送至上述已注册微服务的上述多个第一服务实例包括:针对上述多个第一服务实例中的任一第一服务实例,响应于指示向上述任一第一服务实例发送第一治理信息的第一管控操作,将上述第一治理信息发送至管控监听组件,以及在从上述管控监听组件中监听到除上述任一第一服务实例之外的其他第一服务实例的第一治理信息的情况下,将上述其他第一服务实例的第一治理信息和上述任一第一服务实例的第一治理信息发送至上述已注册微服务的上述多个第一服务实例。
在本发明的再又一个实施例中,上述方法还包括:在上述新注册微服务部署多个第二服务实例且在上述多个第二服务实例满足上述部署规则的情况下,将监听到的上述多个第二服务实例对应的第二治理信息,发送至上述新注册微服务的上述多个第二服务实例,以使得上述新注册微服务能够基于上述第二治理信息配置上述多个第二服务实例。
在本发明的再又一个实施例中,上述管控服务器部署多个实例节点,上述多个第二服务实例满足上述部署规则包括:上述多个第二服务实例与上述多个实例节点中的至少一个实例节点连接。
在本发明的再又一个实施例中,上述将监听到的上述多个第二服务实例对应的第二治理信息,发送至上述新注册微服务的上述多个第二服务实例包括:针对上述多个第二服务实例中的任一第二服务实例,响应于指示向上述任一第二服务实例发送第二治理信息的第二管控操作,将上述第二治理信息发送至上述管控监听组件,以及在从上述管控监听组件中监听到除上述任一第二服务实例之外的其他第二服务实例的第二治理信息的情况下,将上述其他第二服务实例的第二治理信息和上述任一第二服务实例的第二治理信息发送至上述已注册微服务的上述多个第二服务实例。
在本发明的再又一个实施例中,上述第一治理信息和上述第二治理信息具有通用配置格式,上述通用配置格式包括功能标识、配置层级、微服务的唯一标识和配置项。
在本发明实施方式的第二方面中,提供了一种信息处理方法,应用于第一微服务的服务器,上述方法包括:建立并保持与管控服务器的第一通信连接,基于保持的上述第一通信连接,注册到第一注册中心,以使得上述管控服务器能够返回上述第一微服务的第一服务实例信息和第一注册中心类型,以及在第二微服务注册到第二注册中心的情况下,接收上述管控服务器发送的第二同步信息,其中,上述第二同步信息为上述管控服务器响应于上述第二微服务的注册获取上述第二服务实例信息和第二注册中心类型,并基于上述第一注册中心类型与上述第二注册中心类型是否一致的检测结果,基于上述第二服务实例信息生成。
在本发明的再又一个实施例中,上述管控服务器部署多个实例节点,上述方法还包括:在上述第一微服务部署多个第一服务实例且在上述多个第一服务实例与上述多个实例节点中的至少一个实例节点连接的情况下,接收上述管控服务器发送的第一治理信息,其中,上述第一治理信息包括上述多个第一服务实例中上述任一第一服务实例的第一治理信息和除上述任一第一服务实例之外的其他第一服务实例的第一治理信息。
在本发明实施方式的第三方面中,提供了一种介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现上述任一项上述的方法。
在本发明实施方式的第四方面中,提供了一种信息处理系统,应用于管控服务器,上述系统包括:第一获取模块,被配置为获取已注册微服务的第一服务实例信息和第一注册中心类型,第二获取模块,被配置为响应于微服务的注册请求,获得新注册微服务的第二服务实例信息和第二注册中心类型,以及同步模块,被配置为基于上述第一注册中心类型与上述第二注册中心类型是否一致的检测结果,将基于上述第一服务实例信息生成的第一同步信息同步至上述新注册微服务,同时将基于上述第二服务实例信息生成的第二同步信息同步至上述已注册微服务。
在本发明的一个实施例中,上述同步模块包括:生成子模块,被配置为在上述检测结果指示上述第一注册中心类型与上述第二注册中心类型不一致的情况下,基于上述第一服务实例信息生成符合通用数据模型的上述第一同步信息,并基于上述第二服务实例信息生成符合上述通用数据模型的上述第二同步信息,以及第一同步子模块,被配置为将上述第一同步信息同步至上述新注册微服务,同时将上述第二同步信息同步至上述已注册微服务。
在本发明的另一个实施例中,上述系统还包括:确定子模块,被配置为在上述检测结果指示上述第一注册中心类型和上述第二注册中心类型一致的情况下,确定上述第一服务实例信息为上述第一同步信息,并确定上述第二服务实例信息为上述第二同步信息,以及第二同步子模块,被配置为将上述第一同步信息同步至上述新注册微服务,同时将上述第二同步信息同步至上述已注册微服务。
在本发明的又一个实施例中,上述系统还包括:第一发送模块,被配置为在上述已注册微服务部署多个第一服务实例且在上述多个第一服务实例满足部署规则的情况下,将监听到的上述多个第一服务实例对应的第一治理信息,发送至上述已注册微服务的上述多个第一服务实例,以使得上述已注册微服务能够基于上述第一治理信息配置上述多个第一服务实例。
在本发明的再一个实施例中,上述管控服务器部署多个实例节点,上述多个第一服务实例满足部署规则包括:上述多个第一服务实例与上述多个实例节点中的至少一个实例节点连接。
在本发明的再一个实施例中,上述第一发送模块包括:第一发送子模块,被配置为针对上述多个第一服务实例中的任一第一服务实例,响应于指示向上述任一第一服务实例发送第一治理信息的第一管控操作,将上述第一治理信息发送至管控监听组件,以及第二发送子模块,被配置为在从上述管控监听组件中监听到除上述任一第一服务实例之外的其他第一服务实例的第一治理信息的情况下,将上述其他第一服务实例的第一治理信息和上述任一第一服务实例的第一治理信息发送至上述已注册微服务的上述多个第一服务实例。
在本发明的再一个实施例中,上述系统还包括:第二发送模块,被配置为在上述新注册微服务部署多个第二服务实例且在上述多个第二服务实例满足上述部署规则的情况下,将监听到的上述多个第二服务实例对应的第二治理信息,发送至上述新注册微服务的上述多个第二服务实例,以使得上述新注册微服务能够基于上述第二治理信息配置上述多个第二服务实例。
在本发明的再一个实施例中,上述管控服务器部署多个实例节点,上述多个第二服务实例满足上述部署规则包括:上述多个第二服务实例与上述多个实例节点中的至少一个实例节点连接。
在本发明的再一个实施例中,上述第二发送模块包括:第三发送子模块,被配置为针对上述多个第二服务实例中的任一第二服务实例,响应于指示向上述任一第二服务实例发送第二治理信息的第二管控操作,将上述第二治理信息发送至上述管控监听组件,以及第四发送子模块,被配置为在从上述管控监听组件中监听到除上述任一第二服务实例之外的其他第二服务实例的第二治理信息的情况下,将上述其他第二服务实例的第二治理信息和上述任一第二服务实例的第二治理信息发送至上述已注册微服务。
在本发明的再一个实施例中,上述第一治理信息和上述第二治理信息具有通用配置格式,上述通用配置格式包括功能标识、配置层级、微服务的唯一标识和配置项。
在本发明实施方式的第五方面中,提供了一种信息处理系统,应用于第一微服务的服务器,上述系统包括:建立模块,被配置为建立并保持与管控服务器的第一通信连接,注册模块,被配置为基于保持的上述第一通信连接,注册到第一注册中心,以使得上述管控服务器能够返回上述第一微服务的第一服务实例信息和第一注册中心类型,以及第一接收模块,被配置为在第二微服务注册到第二注册中心的情况下,接收上述管控服务器发送的第二同步信息,其中,上述第二同步信息为上述管控服务器响应于上述第二微服务的注册获取上述第二服务实例信息和第二注册中心类型,并基于上述第一注册中心类型与上述第二注册中心类型是否一致的检测结果,基于上述第二服务实例信息生成。
在本发明的再一个实施例中,上述管控服务器部署多个实例节点,上述系统还包括:第二接收模块,被配置为在上述第一微服务部署多个第一服务实例且在上述多个第一服务实例与上述多个实例节点中的至少一个实例节点连接的情况下,接收上述管控服务器发送的第一治理信息,其中,上述第一治理信息包括上述多个第一服务实例中上述任一第一服务实例的第一治理信息和除上述任一第一服务实例之外的其他第一服务实例的第一治理信息。
在本发明实施方式的第六方面中,提供了一种计算设备,包括:处理单元;以及存储单元,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现上述任一项上述的方法。
本发明基于已注册微服务的第一注册中心类型与新注册微服务的第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务,即通过管控服务器同步服务实例信息,实现多个微服务之间的互相发现,可以克服相关技术中通过微服务本身获取服务实例信息导致在多语言、多注册中心等复杂场景下,众多微服务无法互相发现的技术问题,实现在多语言、多注册中心等复杂场景下,微服务能够互相发现的技术效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施例的应用场景示意图;
图2示意性地示出了根据本发明实施例的应用于管控服务器的信息处理方法的流程图一;
图3A示意性地示出了根据本发明实施例的服务实例信息由管控服务器向微服务客户端同步的示意图;
图3B示意性地示出了根据本发明实施例的应用于管控服务器的信息处理方法的流程图二;
图3C示意性地示出了相关技术的微服务治理结构图;
图3D示意性地示出了根据本发明实施例的微服务治理结构图;
图3E示意性地示出了根据本发明实施例的应用于管控服务器的信息处理方法的流程图三;
图3F示意性地示出了根据本发明实施例的治理策略配置示意图;
图4示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理方法的流程图一;
图5A示意性示出了根据本发明实施例的微服务与管控服务器的通信连接示意图;
图5B示意性地示出了根据本发明实施例的并行双向流数据并行发送处理示意图;
图5C示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理方法的流程图二;
图6A示意性地示出了根据本发明实施例的应用于管控服务器的信息处理系统的框图一;
图6B示意性地示出了根据本发明实施例的应用于管控服务器的信息处理系统的框图二;
图7A示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理系统的框图一;
图7B示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理系统的框图二;
图8示意性地示出了根据本发明实施例的用于实现信息处理方法的计算机可读存储介质产品的示意图;以及
图9示意性地示出了根据本发明实施例的用于实现信息处理方法的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施例来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种信息处理方法及系统、介质和计算设备。
在本文中,需要理解的是,本发明所涉及的术语包括如下。
微服务架构:将软件应用程序设计为可独立部署的服务套件的特定方式,每个服务提供严格的模块边界,允许使用不同的编程语言编写不同的服务。
微服务治理:在微服务架构下,传统的单体服务被拆分成若干个具备独立功能特性的微服务。微服务治理即在众多微服务组成的微服务集群中,对众多微服务的注册、发现、路由、负载均衡、降级等功能进行统一的管理,并可以对微服务配置治理策略,改变微服务的调用、容错行为,使得微服务保持健康有序的运行状态。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明的实施方式提供了一种信息处理方法,应用于管控服务器,该方法包括:获取已注册微服务的第一服务实例信息和第一注册中心类型,响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型,以及基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务。
本发明由管控服务器统一管理与微服务相关的服务、实例信息,根据已注册微服务的第一注册中心类型与新注册微服务的第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务,完成已注册微服务与新注册微服务之间服务的相互发现,使得服务之间可以顺利调用。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1详细阐述本发明实施例的信息处理方法及系统的应用场景。
图1示意性地示出了根据本发明实施例的应用场景示意图。需要注意的是,图1仅为可以应用本发明实施例的应用场景的示例,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施方式不可以用于其他设备、系统、环境或场景。
本发明适用于微服务架构的应用场景100,如图1所示,该应用场景100包括多个用于提供微服务的服务器,例如服务器101、102、103,网络104以及用于对微服务提供管控的管控服务器105。其中,管控服务器105通过网络104与多个用于提供微服务的服务器等设备通信互联。用于提供微服务的服务器101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
用于提供微服务的服务器101、102、103可以是具有显示屏并且支持网页浏览的各种服务器。
管控服务器105可以是对微服务所在的服务器提供各种管控服务的服务器,例如对用于提供微服务的服务器101、102、103提供微服务之间的相互发现、给用于提供微服务的服务器101、102、103提供治理策略,即对微服务的注册、发现、路由、负载均衡、降级等功能进行统一的管理,并可以对微服务配置治理策略,改变微服务的调用、容错行为,使得微服务保持健康有序的运行状态。
需要说明的是,本公开实施例所提供的信息处理方法一般可以由管控服务器105执行。相应地,本公开实施例所提供的信息处理系统一般可以设置于管控服务器105中。本公开实施例所提供的信息处理方法也可以由不同于管控服务器105且能够与用于提供微服务的服务器101、102、103和/或管控服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的信息处理系统也可以设置于不同于管控服务器105且能够与用于提供微服务的服务器101、102、103和/或管控服务器105通信的服务器或服务器集群中。
应该理解,图1中的用于提供微服务的服务器、网络和管控服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用于提供微服务的服务器、网络和管控服务器。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施例的信息处理方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在微服务治理领域有繁多的概念,如微服务相关的服务、实例信息,治理相关的路由、负载均衡、降级信息等。一般以服务实例信息与治理信息为核心的基础治理方式,即微服务相关的服务、实例信息是通过微服务端依赖注册客户端,向服务注册中心的服务器来获取(即服务的注册与发现),而治理相关的配置则通过配置文件、单向接口、管控服务器推送的方式获取。
在相关技术中,微服务相关的服务、实例信息通过微服务端依赖注册/发现客户端,向服务注册中心服务器来注册和发现服务信息是比较主流的使用方式,但也存在通用性问题,即不同微服务开发语言可能不同,使用的注册中心选型也可能不同,尤其在跨语言、多注册中心等相对复杂的微服务架构下通用性问题尤为明显,为此,微服务可能需要引入各种不同语言、不同注册中心客户端才可以完成其他注册中心的服务发现,且服务注册信息互相发现也可能因为模型不同而变得困难,甚至无法完成复杂场景微服务的互相发现,增加开发的难度。
本发明以微服务的服务实例信息为核心数据模型,由管控服务器获取并向微服务客户端同步的服务发现方式。
图2示意性地示出了根据本发明实施例的应用于管控服务器的信息处理方法的流程图一。
如图2所示,该信息处理方法包括操作S210~操作S230。其中:
在操作S210,获取已注册微服务的第一服务实例信息和第一注册中心类型。
在操作S220,响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型。
在操作S230,基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务。
根据本发明的示例性实施例,将微服务相关的服务、实例信息交由管控服务器统一管理、抽象的设计(替代现有微服务自身直接通过各种服务注册发现客户端对接各种注册中心的传统方式),使得微服务需要的服务发现相关的服务、实例信息通过管控服务器统一管理,根据已注册微服务的第一注册中心类型与新注册微服务的第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务,完成已注册微服务与新注册微服务的服务发现,使得服务之间可以顺利调用。
通过本发明的示例性实施例,通过管控服务器同步服务实例信息,实现多个微服务之间的互相发现,可以克服相关技术中通过微服务本身获取服务实例信息导致在多语言、多注册中心等复杂场景下,众多微服务无法互相发现的技术问题,实现在多语言、多注册中心等复杂场景下,微服务能够互相发现的技术效果。
根据本发明的示例性实施例,前述操作S230(基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务)包括:在检测结果指示第一注册中心类型与第二注册中心类型不一致的情况下,基于第一服务实例信息生成符合通用数据模型的第一同步信息,并基于第二服务实例信息生成符合通用数据模型的第二同步信息;以及将第一同步信息同步至新注册微服务,同时将第二同步信息同步至已注册微服务。根据本发明的示例性实施例,在已注册微服务的第一注册中心类型与新注册微服务的第二注册中心类型不一致的情况下,由管控服务器使用不同的服务发现客户端获取各种注册中心的服务实例信息,将这些信息转换转为通用的数据模型,通过并行双向流连接同步到第一微服务实例和第二微服务实例,获取到第二服务实例信息的第一微服务实例即可完成对第二微服务的“服务发现”,获取到第一服务实例信息的第二微服务实例即完成了对第一微服务的“服务发现”,在服务调用时可基于默认或配置的治理策略(路由、负载均衡策略)选择目标服务实例发起调用。
根据本发明的示例性实施例,在检测结果指示第一注册中心类型和第二注册中心类型一致的情况下,确定第一服务实例信息为第一同步信息,并确定第二服务实例信息为第二同步信息,以及将第一同步信息同步至新注册微服务,同时将第二同步信息同步至已注册微服务。
图3A示意性地示出了根据本发明实施例的服务实例信息由管控服务器向微服务客户端同步的示意图。
如图3A所示,以Java语言开发的第一微服务注册到了服务注册中心Eureka,以C++语言研发的第二微服务注册到了服务注册中心ZooKeeper。由于不同微服务的开发者很可能语言和开发上均不同。因此,如果第一微服务需要发现第二微服务,则需要引入与第二微服务注册的服务注册中心相应的ZooKeeper客户端,相应地,第二微服务需要发现第一微服务,则需要引入与第一微服务注册的服务注册中心相应的Eureka客户端。
采用本发明提供的服务实例信息由管控服务器获取并向各微服务客户端同步的服务发现方式,管控服务器中的服务实例信息被服务实例信息转换模块统一对接多种注册中心(服务注册中心Eureka和服务注册中心ZooKeeper),拉取服务实例信息以完成多个微服务的“服务发现”,进过信息转换转为通用数据模型,通过并行双向流连接同步到第一微服务与第二微服务。在本发明提供的微服务相互发现的模式下,第一微服务与第二微服务只需要实现统一的接口对接管控服务器的服务发现接口即可,在完成上述服务的发现之后,第一微服务即可顺利调用第二微服务。
图3B示意性地示出了根据本发明实施例的应用于管控服务器的信息处理方法的流程图二。
如图3B所示,该信息处理方法除了包括前述操作S210~操作S230之外,还包括操作S321:在已注册微服务部署多个第一服务实例且在多个第一服务实例满足部署规则的情况下,将监听到的多个第一服务实例对应的第一治理信息,发送至已注册微服务的多个第一服务实例,以使得已注册微服务能够基于第一治理信息配置多个第一服务实例。
根据本发明的示例性实施例,管控服务器部署多个实例节点,多个第一服务实例满足部署规则包括:多个第一服务实例与多个实例节点中的至少一个实例节点连接。
可以理解的是,多个微服务之间除了需要相互发现,以实现多个微服务之间的相互调用之外,还需要配置相应的治理策略,对多个微服务的路由、负载均衡、降级等统一管理,以调整多个微服务之间的相互调用。
在相关技术中,在管控服务器高可用部署(即多个实例节点)的架构下,可能存在同一微服务的不同服务实例连接到不同的管控服务器实例上,在进行治理配置时一般需要将配置发到同一微服务的所有服务实例上。因此,在管控服务器高可用架构下,管理操作可能落在不同的实例节点上,此时管控服务器实例只能通知与其保持连接的微服务实例,导致治理配置同步的问题。
图3C示意性地示出了相关技术的微服务治理结构图。
如图3C所示,管理操作I请求落在管控服务器实例a上,由于第一微服务的实例1建立双向流连接,故管理操作I的配置服务可以同步到第一微服务的实例2,而落在管理服务器实例b的管理操作II也只能与第一微服务的实例2同步配置,第一微服务的实例1无法获得第一微服务的实例1同步配置。
图3D示意性地示出了根据本发明实施例的微服务治理结构图。
根据本发明的示例性实施例,引入管控监听组件。管控监听组件以键-值(kev-value)方式存储微服务信息-连接对象。当需要对某微服务进行治理配置时,只需从哈希表中获取对应该微服务的连接对象,通过连接对象的发送方法将治理配置发送至对应的微服务。管控监听组件具备基础监听机制,即多个客户端可监听在管控监听组件的同一个key上,如该组件key上出现新的value时,已监听的客户端可以接收到该value值。
根据本发明的示例性实施例,将监听到的多个第一服务实例对应的第一治理信息,发送至已注册微服务的多个第一服务实例包括:针对多个第一服务实例中的任一第一服务实例,响应于指示向任一第一服务实例发送第一治理信息的第一管控操作,将第一治理信息发送至管控监听组件;以及在从管控监听组件中监听到除任一第一服务实例之外的其他第一服务实例的第一治理信息的情况下,将其他第一服务实例的第一治理信息和任一第一服务实例的第一治理信息发送至已注册微服务的多个第一服务实例。
根据本发明的示例性实施例,引入管控监听组件后,所有管控服务器实例监听在管控监听组件上。任何管控服务器实例收到管理操作需要向微服务发送治理配置时,将不会直接通过并行双向流连接发送治理配置,而是将治理配置发送至管控监听组件(如图3D中管理操作I和管理操作II产生的配置均先发送至管控监听组件)。此时监听状态的所有管控服务器实例均可收到该配置(即管理服务器实例a发送管理操作I的治理配置,同时监听到管理操作II的治理配置;管理服务器实例b发送管理操作II的治理配置,同时监听到管理操作I的治理配置),管控服务器实例通过并行双向流连接发送治理配置到与其连接的第一微服务的各实例。由于所有管控服务器实例均监听了此治理配置。因此,通过这种方式即可实现此次治理配置同步。
通过本发明的示例性实施例,引入管控监听组件,可以克服相关技术中治理配置不同步的技术问题,在管控服务器高可用部署的情况下,将分别连接在多个实例节点的治理配置,及时同步给已注册微服务的各实例,实现治理配置及时同步的技术效果。
图3E示意性地示出了根据本发明实施例的应用于管控服务器的信息处理方法的流程图三。
如图3E所示,该信息处理方法除了包括前述操作S210~操作S230之外,还包括操作S331:在新注册微服务部署多个第二服务实例且在多个第二服务实例满足部署规则的情况下,将监听到的多个第二服务实例对应的第二治理信息,发送至新注册微服务的多个第二服务实例,以使得新注册微服务能够基于第二治理信息配置多个第二服务实例。
根据本发明的示例性实施例,管控服务器部署多个实例节点,多个第二服务实例满足部署规则包括:多个第二服务实例与多个实例节点中的至少一个实例节点连接。
根据本发明的示例性实施例,将监听到的多个第二服务实例对应的第二治理信息,发送至新注册微服务的多个第二服务实例包括:针对多个第二服务实例中的任一第二服务实例,响应于指示向任一第二服务实例发送第二治理信息的第二管控操作,将第二治理信息发送至管控监听组件;以及在从管控监听组件中监听到除任一第二服务实例之外的其他第二服务实例的第二治理信息的情况下,将其他第二服务实例的第二治理信息和任一第二服务实例的第二治理信息发送至已注册微服务的多个第二服务实例。
可以理解的是,第一微服务集群中的微服务可以是已注册微服务,也可以是新注册微服务,与注册微服务的治理配置同步方法相同,可以引入管控监听组件,可以实现在管控服务器高可用部署的情况下,对分散连接的微服务客户端之间的治理配置,实现同步的高效方案。
根据本发明的示例性实施例,第一治理信息和第二治理信息具有通用配置格式,通用配置格式包括功能标识、配置层级、微服务的唯一标识和配置项。
根据本发明的示例性实施例,治理策略(也称治理信息)的配置是管理与生效治理策略的关键数据结构。本发明提供了灵活与通用的治理策略配置方案。
可选地,通用的治理策略的形式如下所示:
[功能标识].[配置层级].[唯一标识].[配置项]
以“流量限制”的治理信息,微服务(service A)限制流量最大100为例,根据通用的治理策略形式,治理信息可以配置如下:
nsfLimiter.group.serviceA.limit=100
治理信息解释如下:
nsfLimiter标识nsf系统流量限制功能。
group作为配置层级。可以结合服务业务定义配置生效的层级,例如可以约定配置层级为方法(command)、也可以约定配置层级为分组(group)、还可以约定配置层级为类(class),还可以为配置层级设置优先级,以约定配置生效的顺序。例如,优先级依次降低,则治理策略的优先级可按照command>group>class的顺序生效配置。
service A即为标识微服务中元素的唯一标识。
limit即为具体配置项,这里表示“大小限制”。
基于本发明的治理信息配置项,可以较灵活定义不同服务中元素在多种治理功能、不同层级的配置项。该配置项可由管控服务器管理,通过并行双向流连接发送至微服务所在的服务器端,服务器端将此配置设置到应用环境变量,功能组件读取到此配置完成即可完成实际的治理功能。
图3F示意性地示出了根据本发明实施例的治理策略配置示意图。
本发明提供的治理策略可以分为创建、启用/停用/更新、删除三大类操作。如图3F所示,其中:
第一类:创建(默认为未启动)的治理策略保存至数据库持久化。
第二类:启用/停用/更新的治理策略,首先更新策略的数据库状态用于持久化,然后按如上的配置设计生成配置(集),监听组件同步配置启用的情况下,通过管控监听组件机制发送配置至目标微服务。
第三类:删除治理策略,删除数据库数据用于持久化,同时也通过管控监听组件机制发送至微服务。
通过本发明的示例性实施例,提供灵活与通用的治理信息配置方案,可以实现多种维度下配置的高可扩展性。
图4示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理方法的流程图一。
如图4所示,该方法包括操作S410~操作S430。其中:
在操作S410,建立并保持与管控服务器的第一通信连接。
在操作S420,基于保持的第一通信连接,注册到第一注册中心,以使得管控服务器能够返回第一微服务的第一服务实例信息和第一注册中心类型。
在操作S430,在第二微服务注册到第二注册中心的情况下,接收管控服务器发送的第二同步信息,其中,第二同步信息为管控服务器响应于第二微服务的注册获取第二服务实例信息和第二注册中心类型,并基于第一注册中心类型与第二注册中心类型是否一致的检测结果,基于第二服务实例信息生成。
根据本发明的示例性实施例,为实现众多微服务之间高效、稳定的实时治理,本发明设计基于并行双向流连接的通信方式,实现微服务与管控服务器间的通信。微服务配置管控服务器的地址信息,包括网络地址(Internet Protocol,简称IP)和端口,启动时基于地址信息与管控服务器建立连接,并调用已约定的注册、获取配置等协议接口,向管控服务器注册微服务信息,包括IP、端口以及服务名称等,并获取微服务的治理配置信息(路由、负载均衡、降级等)。
需要说明的是,并行双向流连接的通信方式具备并行双向流连接属性,即微服务与管控服务器建立并行双向流连接,该连接上可以承载并行双向的、任意数目的数据流。通信的微服务与管控服务器均可以作为消息的发起方,复用已有该连接发送消息,双向消息可并行发送且不相互影响。以第一微服务与第二微服务互相调用以及治理信息(例如,超时策略)为例,具体的通信图见下图5A所示。
图5A示意性示出了根据本发明实施例的微服务与管控服务器的通信连接示意图。
如图5A所示。第一微服务先于第二微服务启动,在其启动过程中先与管控服务器建立并行双向流连接。连接建立成功后,执行以下流程:
1.第一微服务向管控服务器注册自己的服务名称、IP、端口等信息。
2.向管控服务器(通过服务信息与治理策略信息接口)获取服务实例信息与治理策略。
3.服务管理人员通过Web页面或通过用于程序编程接口(ApplicationProgramming Interface,简称API)对第一微服务下发超时时间为1秒的治理策略。
4.与3同时,第二微服务刚好启动完成,管控服务器向第一微服务同步第二微服务的服务实例信息。
5.第一微服务调用第二微服务响应时间超过1秒,由于并行双向流已完成服务实例信息与治理策略的并行同步,策略及时生效。因此,第一微服务调用第二微服务超时。
并行双向流具备的并行属性,在管控服务器向第一微服务发送超时配置(1s)同时将新发现的第二微服务的服务实例信息同步发送,第一微服务同时获得信息后,对第二微服务发起调用即可找到目标服务并生效配置的超时配置。
图5B示意性地示出了根据本发明实施例的并行双向流数据并行发送处理示意图。
可以理解的是,在并行双向流设计上,数据帧有独立标识,所以各种数据可以不必将所有数据一起发送,而是携带独立标识按需分批发送,接收端可基于独立标识组装成完整数据。这一过程保证数据正确性,同时提升了并发性。在大量微服务并行发现、配置治理时效率尤为突出。
管控服务器可以哈希表的key-value方式存储微服务信息-连接对象。当需要对某微服务进行治理配置时,只需从哈希表中获取对应该微服务的连接对象,通过连接对象的发送方法将治理配置发送至对应的微服务。
通过本发明的示例性实施例,提供了并行双向流连接管理与通信的方法,提升治理策略同步效率。
通过本发明的示例性实施例,第一微服务建立并保持与管控服务器的第一通信连接,基于保持的第一通信连接,注册到第一注册中心,以使得管控服务器能够返回第一微服务的第一服务实例信息和第一注册中心类型,并在第二微服务注册到第二注册中心的情况下,接收管控服务器发送的第二同步信息,可以避免第一微服务自主同步的方式,在多语言、多注册中心的情况下,依然可以实现多个微服务之间的相互发现。
图5C示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理方法的流程图二。
如图5C所示,管控服务器部署多个实例节点,该方法除了包括前述操作S410~操作S430之外,还包括S511:在第一微服务部署多个第一服务实例且在多个第一服务实例与多个实例节点中的至少一个实例节点连接的情况下,接收管控服务器发送的第一治理信息,其中,第一治理信息包括多个第一服务实例中任一第一服务实例的第一治理信息和除任一第一服务实例之外的其他第一服务实例的第一治理信息。
通过本发明的示例性实施例,微服务所在的服务器与管控服务器作为通信的两端,在管控服务器高可用部署的情况下,与管控服务器建立通信连接后,可以接收管控服务器发送的第一治理信息,实现治理信息的及时同步。
示例性装置
在介绍了本发明示例性实施例的示例性方式之后,接下来,参考图6A、图6B、图7A以及图7B对本发明示例性实施例的用于实现上述信息处理方法的信息处理系统进行详细阐述。
图6A示意性地示出了根据本发明实施例的应用于管控服务器的信息处理系统的框图一。
如图6A所示,该信息处理系统600包括第一获取模块610、第二获取模块620以及同步模块630。其中:
第一获取模块610,被配置为获取已注册微服务的第一服务实例信息和第一注册中心类型。
第二获取模块620,被配置为响应于微服务的注册请求,获得新注册微服务的第二服务实例信息和第二注册中心类型。
同步模块630,被配置为基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务。
通过本发明的示例性实施例,通过管控服务器同步服务实例信息,实现多个微服务之间的互相发现,可以克服相关技术中通过微服务本身获取服务实例信息导致在多语言、多注册中心等复杂场景下,众多微服务无法互相发现的技术问题,实现在多语言、多注册中心等复杂场景下,微服务能够互相发现的技术效果。
同步模块包括:生成子模块,被配置为在检测结果指示第一注册中心类型与第二注册中心类型不一致的情况下,基于第一服务实例信息生成符合通用数据模型的第一同步信息,并基于第二服务实例信息生成符合通用数据模型的第二同步信息;以及第一同步子模块,被配置为将第一同步信息同步至新注册微服务,同时将第二同步信息同步至已注册微服务。
同步模块还包括:确定子模块,被配置为在检测结果指示第一注册中心类型和第二注册中心类型一致的情况下,确定第一服务实例信息为第一同步信息,并确定第二服务实例信息为第二同步信息;以及第二同步子模块,被配置为将第一同步信息同步至新注册微服务,同时将第二同步信息同步至已注册微服务。
图6B示意性地示出了根据本发明实施例的应用于管控服务器的信息处理系统的框图二。
如图6B所示,信息处理系统除了包括前述第一获取模块610、第二获取模块620以及同步模块630之外,还包括第一发送模块640,被配置为在已注册微服务部署多个第一服务实例且在多个第一服务实例满足部署规则的情况下,将监听到的多个第一服务实例对应的第一治理信息,发送至已注册微服务的多个第一服务实例,以使得已注册微服务能够基于第一治理信息配置多个第一服务实例。
根据本发明的示例性实施例,管控服务器部署多个实例节点,多个第一服务实例满足部署规则包括:多个第一服务实例与多个实例节点中的至少一个实例节点连接。
第一发送模块包括:第一发送子模块,被配置为针对多个第一服务实例中的任一第一服务实例,响应于指示向任一第一服务实例发送第一治理信息的第一管控操作,将第一治理信息发送至管控监听组件;以及第二发送子模块,被配置为在从管控监听组件中监听到除任一第一服务实例之外的其他第一服务实例的第一治理信息的情况下,将其他第一服务实例的第一治理信息和任一第一服务实例的第一治理信息发送至已注册微服务的多个第一服务实例。
如图6B所示,信息处理系统除了包括前述第一获取模块610、第二获取模块620以及同步模块630之外,还包括第二发送模块650,被配置为在新注册微服务部署多个第二服务实例且在多个第二服务实例满足部署规则的情况下,将监听到的多个第二服务实例对应的第二治理信息,发送至新注册微服务的多个第二服务实例,以使得新注册微服务能够基于第二治理信息配置多个第二服务实例。
根据本发明的示例性实施例,管控服务器部署多个实例节点,多个第二服务实例满足部署规则包括:多个第二服务实例与多个实例节点中的至少一个实例节点连接。
第二发送模块包括:第三发送子模块,被配置为针对多个第二服务实例中的任一第二服务实例,响应于指示向任一第二服务实例发送第二治理信息的第二管控操作,将第二治理信息发送至管控监听组件;以及第四发送子模块,被配置为在从管控监听组件中监听到除任一第二服务实例之外的其他第二服务实例的第二治理信息的情况下,将其他第二服务实例的第二治理信息和任一第二服务实例的第二治理信息发送至已注册微服务。
根据本发明的示例性实施例,第一治理信息和第二治理信息具有通用配置格式,通用配置格式包括功能标识、配置层级、微服务的唯一标识和配置项。
通过本发明的示例性实施例,引入管控监听组件,可以克服相关技术中治理配置不同步的技术问题,在管控服务器高可用部署的情况下,将分别连接在多个实例节点的治理配置,及时同步给已注册微服务的各实例,实现治理配置及时同步的技术效果。
图7A示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理系统的框图一。
如图7A所示,该系统包括建立模块710、注册模块720以及第一接收模块730。其中:
建立模块710,被配置为建立并保持与管控服务器的第一通信连接。
注册模块720,被配置为基于保持的第一通信连接,注册到第一注册中心,以使得管控服务器能够返回第一微服务的第一服务实例信息和第一注册中心类型。
第一接收模块730,被配置为在第二微服务注册到第二注册中心的情况下,接收管控服务器发送的第二同步信息,其中,第二同步信息为管控服务器响应于第二微服务的注册获取第二服务实例信息和第二注册中心类型,并基于第一注册中心类型与第二注册中心类型是否一致的检测结果,基于第二服务实例信息生成。
通过本发明的示例性实施例,第一微服务建立并保持与管控服务器的第一通信连接,基于保持的第一通信连接,注册到第一注册中心,以使得管控服务器能够返回第一微服务的第一服务实例信息和第一注册中心类型,并在第二微服务注册到第二注册中心的情况下,接收管控服务器发送的第二同步信息,可以避免第一微服务自主同步的方式,在多语言、多注册中心的情况下,依然可以实现多个微服务之间的相互发现。图7B示意性地示出了根据本发明实施例的应用于第一微服务的服务器的信息处理系统的框图二。
如图7B所示,该系统除了包括前述建立模块710、注册模块720以及第一接收模块730之外,还包括第二接收模块740:被配置为在第一微服务部署多个第一服务实例且在多个第一服务实例与多个实例节点中的至少一个实例节点连接的情况下,接收管控服务器发送的第一治理信息,其中,第一治理信息包括多个第一服务实例中任一第一服务实例的第一治理信息和除任一第一服务实例之外的其他第一服务实例的第一治理信息。
通过本发明的示例性实施例,微服务所在的服务器与管控服务器作为通信的两端,在管控服务器高可用部署的情况下,与管控服务器建立通信连接后,可以接收管控服务器发送的第一治理信息,实现治理信息的及时同步。
根据本发明的示例性实施例,模块、子模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本发明示例性实施例的模块、子模块中的任意一个或多个可以被拆分成多个模块来实现。根据本发明示例性实施例的模块、子模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本发明示例性实施例的模块、子模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块610、第二获取模块620、同步模块630、生成子模块、第一同步子模块、确定子模块、第二同步子模块、第一发送模块640、第一发送子模块、第二发送子模块、第一发送模块650、第三发送子模块、第四发送子模块、建立模块710、注册模块720、第一接收模块730以及第二接收模块740中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的示例性实施例,第一获取模块610、第二获取模块620、同步模块630、生成子模块、第一同步子模块、确定子模块、第二同步子模块、第一发送模块640、第一发送子模块、第二发送子模块、第一发送模块650、第三发送子模块、第四发送子模块、建立模块710、注册模块720、第一接收模块730以及第二接收模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块610、第二获取模块620、同步模块630、生成子模块、第一同步子模块、确定子模块、第二同步子模块、第一发送模块640、第一发送子模块、第二发送子模块、第一发送模块650、第三发送子模块、第四发送子模块、建立模块710、注册模块720、第一接收模块730以及第二接收模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块程序被计算机运行时,可以执行相应模块的功能。
需要说明的是,本发明实施例中的信息处理系统部分与本发明实施例中的信息处理方法部分是相对应的,信息处理系统部分的描述具体可参考信息处理方法部分,在此不再赘述。
示例性介质
在介绍了本发明示例性实施例的示例性装置之后,接下来,参考图8对本发明示例性实施例的、用于存储有计算机可执行指令,该指令在被处理单元执行时用于实现图2、图3A至图3F中的信息处理方法的介质进行描述。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在设备上运行时,程序代码用于使设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的信息发送方法中的操作(或步骤),例如,设备可以执行如图2中所示的操作S210,获取已注册微服务的第一服务实例信息和第一注册中心类型,操作S220,响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型以及操作S230,基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图8所示,描述了根据本发明的实施方式的信息处理的程序产品80,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、系统或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言-诸如Java,C++等,还包括常规的过程式程序设计语言-诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施例的方法、介质和装置之后,接下来,参考图9对本发明示例性实施例的计算设备进行描述,该计算设备包括处理单元和存储单元,存储单元存储有计算机可执行指令,上述指令在被上述处理单元执行时用于实现图2、图3A至图3F中的信息处理方法进行描述。
本发明的实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,存储单元存储有程序代码,当程序代码被处理单元执行时,使得处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的信息呈现方法中的步骤。例如,处理单元可以执行如图2中所示的操作S210,获取已注册微服务的第一服务实例信息和第一注册中心类型,操作S220,响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型以及操作S230,基于第一注册中心类型与第二注册中心类型是否一致的检测结果,将基于第一服务实例信息生成的第一同步信息同步至新注册微服务,同时将基于第二服务实例信息生成的第二同步信息同步至已注册微服务。
下面参照图9来描述根据本发明的这种实施方式的用于信息处理的计算设备90。如图9所示的计算设备90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算设备90以通用计算设备的形式表现。计算设备90的组件可以包括但不限于:上述至少一个处理单元901、上述至少一个存储单元902、连接不同系统组件(包括存储单元902和处理单元901)的总线903。
总线903包括地址总线、数据总线和控制总线。
存储单元902可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)9021和/或高速缓存存储器9022,还可以进一步包括只读存储器(ROM)9023。
存储单元902还可以包括具有一组(至少一个)程序模块9024的程序/实用工具9025,这样的程序模块9024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备90也可以与一个或多个外部设备904(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口905进行。并且,计算设备90还可以通过网络适配器906与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器906通过总线903与计算设备90的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所发明的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种信息处理方法,应用于管控服务器,所述方法包括:
获取已注册微服务的第一服务实例信息和第一注册中心类型;
响应于微服务的注册请求,以获得新注册微服务的第二服务实例信息和第二注册中心类型;以及
基于所述第一注册中心类型与所述第二注册中心类型是否一致的检测结果,将基于所述第一服务实例信息生成的第一同步信息同步至所述新注册微服务,同时将基于所述第二服务实例信息生成的第二同步信息同步至所述已注册微服务。
2.根据权利要求1所述的方法,其中,所述基于所述第一注册中心类型与所述第二注册中心类型是否一致的检测结果,将基于所述第一服务实例信息生成的第一同步信息同步至所述新注册微服务,同时将基于所述第二服务实例信息生成的第二同步信息同步至所述已注册微服务包括:
在所述检测结果指示所述第一注册中心类型与所述第二注册中心类型不一致的情况下,基于所述第一服务实例信息生成符合通用数据模型的所述第一同步信息,并基于所述第二服务实例信息生成符合所述通用数据模型的所述第二同步信息;以及
将所述第一同步信息同步至所述新注册微服务,同时将所述第二同步信息同步至所述已注册微服务。
3.根据权利要求2所述的方法,还包括:
在所述检测结果指示所述第一注册中心类型和所述第二注册中心类型一致的情况下,确定所述第一服务实例信息为所述第一同步信息,并确定所述第二服务实例信息为所述第二同步信息;以及
将所述第一同步信息同步至所述新注册微服务,同时将所述第二同步信息同步至所述已注册微服务。
4.根据权利要求1所述的方法,还包括:
在所述已注册微服务部署多个第一服务实例且在所述多个第一服务实例满足部署规则的情况下,将监听到的所述多个第一服务实例对应的第一治理信息,发送至所述已注册微服务的所述多个第一服务实例,以使得所述已注册微服务能够基于所述第一治理信息配置所述多个第一服务实例。
5.根据权利要求4所述的方法,其中,所述管控服务器部署多个实例节点,所述多个第一服务实例满足部署规则包括:所述多个第一服务实例与所述多个实例节点中的至少一个实例节点连接。
6.一种信息处理方法,应用于第一微服务的服务器,所述方法包括:
建立并保持与管控服务器的第一通信连接;
基于保持的所述第一通信连接,注册到第一注册中心,以使得所述管控服务器能够返回所述第一微服务的第一服务实例信息和第一注册中心类型;以及
在第二微服务注册到第二注册中心的情况下,接收所述管控服务器发送的第二同步信息,其中,所述第二同步信息为所述管控服务器响应于所述第二微服务的注册获取所述第二服务实例信息和第二注册中心类型,并基于所述第一注册中心类型与所述第二注册中心类型是否一致的检测结果,基于所述第二服务实例信息生成。
7.一种信息处理系统,应用于管控服务器,所述系统包括:
第一获取模块,被配置为获取已注册微服务的第一服务实例信息和第一注册中心类型;
第二获取模块,被配置为响应于微服务的注册请求,获得新注册微服务的第二服务实例信息和第二注册中心类型;以及
同步模块,被配置为基于所述第一注册中心类型与所述第二注册中心类型是否一致的检测结果,将基于所述第一服务实例信息生成的第一同步信息同步至所述新注册微服务,同时将基于所述第二服务实例信息生成的第二同步信息同步至所述已注册微服务。
8.一种信息处理系统,应用于第一微服务的服务器,所述系统包括:
建立模块,被配置为建立并保持与管控服务器的第一通信连接;
注册模块,被配置为基于保持的所述第一通信连接,注册到第一注册中心,以使得所述管控服务器能够返回所述第一微服务的第一服务实例信息和第一注册中心类型;以及
第一接收模块,被配置为在第二微服务注册到第二注册中心的情况下,接收所述管控服务器发送的第二同步信息,其中,所述第二同步信息为所述管控服务器响应于所述第二微服务的注册获取所述第二服务实例信息和第二注册中心类型,并基于所述第一注册中心类型与所述第二注册中心类型是否一致的检测结果,基于所述第二服务实例信息生成。
9.一种介质,存储有计算机可执行指令,所述指令在被处理单元执行时用于实现权利要求1至6中任一项所述的方法。
10.一种计算设备,包括:
处理单元;以及
存储单元,存储有计算机可执行指令,所述指令在被所述处理单元执行时用于实现权利要求1至6中任一项所述的方法。
CN201910409288.0A 2019-05-16 2019-05-16 信息处理方法及系统、介质和计算设备 Active CN110262902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910409288.0A CN110262902B (zh) 2019-05-16 2019-05-16 信息处理方法及系统、介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910409288.0A CN110262902B (zh) 2019-05-16 2019-05-16 信息处理方法及系统、介质和计算设备

Publications (2)

Publication Number Publication Date
CN110262902A true CN110262902A (zh) 2019-09-20
CN110262902B CN110262902B (zh) 2021-08-31

Family

ID=67913221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910409288.0A Active CN110262902B (zh) 2019-05-16 2019-05-16 信息处理方法及系统、介质和计算设备

Country Status (1)

Country Link
CN (1) CN110262902B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659184A (zh) * 2019-09-23 2020-01-07 北京百度网讯科技有限公司 健康状态检查方法、装置及系统
CN111478955A (zh) * 2020-03-31 2020-07-31 招商局金融科技有限公司 微服务注册方法、系统、装置和计算机可读存储介质
CN112749050A (zh) * 2019-10-29 2021-05-04 中国移动通信集团浙江有限公司 基于微服务框架的安全断路方法、装置及计算设备
CN112910943A (zh) * 2019-12-04 2021-06-04 华为技术有限公司 一种服务提供方法、装置及系统
CN113765944A (zh) * 2020-06-01 2021-12-07 中移(苏州)软件技术有限公司 一种微服务治理方法、装置、设备和存储介质
CN114546926A (zh) * 2020-11-24 2022-05-27 北京灵汐科技有限公司 核心簇同步、控制方法、数据处理方法、核心、设备、介质
CN114640657A (zh) * 2020-12-16 2022-06-17 北京国双科技有限公司 多注册中心的融合方法、装置
WO2022134358A1 (zh) * 2020-12-24 2022-06-30 平安科技(深圳)有限公司 微服务数据的处理方法、装置、微服务处理平台及介质
CN115941701A (zh) * 2022-10-13 2023-04-07 华能信息技术有限公司 一种基于微服务架构的动态配置方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193222A1 (en) * 2004-03-01 2005-09-01 Greene William S. Providing secure data and policy exchange between domains in a multi-domain grid by use of a service ecosystem facilitating uses such as supply-chain integration with RIFD tagged items and barcodes
US20170109536A1 (en) * 2015-10-15 2017-04-20 Twistlock, Ltd. Static detection of vulnerabilities in base images of software containers
CN206164554U (zh) * 2016-08-31 2017-05-10 广州唯品会信息科技有限公司 业务信息处理系统
CN107947960A (zh) * 2017-10-13 2018-04-20 用友网络科技股份有限公司 配置信息的推送方法及系统、配置信息的接收方法及系统
CN108418862A (zh) * 2018-01-31 2018-08-17 金蝶软件(中国)有限公司 基于人工智能服务云平台的微服务管理方法和系统
CN109246251A (zh) * 2018-11-13 2019-01-18 杭州数梦工场科技有限公司 一种微服务调用方法、装置、系统、设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193222A1 (en) * 2004-03-01 2005-09-01 Greene William S. Providing secure data and policy exchange between domains in a multi-domain grid by use of a service ecosystem facilitating uses such as supply-chain integration with RIFD tagged items and barcodes
US20170109536A1 (en) * 2015-10-15 2017-04-20 Twistlock, Ltd. Static detection of vulnerabilities in base images of software containers
CN206164554U (zh) * 2016-08-31 2017-05-10 广州唯品会信息科技有限公司 业务信息处理系统
CN107947960A (zh) * 2017-10-13 2018-04-20 用友网络科技股份有限公司 配置信息的推送方法及系统、配置信息的接收方法及系统
CN108418862A (zh) * 2018-01-31 2018-08-17 金蝶软件(中国)有限公司 基于人工智能服务云平台的微服务管理方法和系统
CN109246251A (zh) * 2018-11-13 2019-01-18 杭州数梦工场科技有限公司 一种微服务调用方法、装置、系统、设备及可读存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659184A (zh) * 2019-09-23 2020-01-07 北京百度网讯科技有限公司 健康状态检查方法、装置及系统
CN110659184B (zh) * 2019-09-23 2023-04-18 北京百度网讯科技有限公司 健康状态检查方法、装置及系统
CN112749050A (zh) * 2019-10-29 2021-05-04 中国移动通信集团浙江有限公司 基于微服务框架的安全断路方法、装置及计算设备
CN112910943B (zh) * 2019-12-04 2024-03-05 华为云计算技术有限公司 一种服务提供方法、装置及系统
CN112910943A (zh) * 2019-12-04 2021-06-04 华为技术有限公司 一种服务提供方法、装置及系统
CN111478955B (zh) * 2020-03-31 2023-04-18 招商局金融科技有限公司 微服务注册方法、系统、装置和计算机可读存储介质
CN111478955A (zh) * 2020-03-31 2020-07-31 招商局金融科技有限公司 微服务注册方法、系统、装置和计算机可读存储介质
CN113765944A (zh) * 2020-06-01 2021-12-07 中移(苏州)软件技术有限公司 一种微服务治理方法、装置、设备和存储介质
CN114546926A (zh) * 2020-11-24 2022-05-27 北京灵汐科技有限公司 核心簇同步、控制方法、数据处理方法、核心、设备、介质
CN114546926B (zh) * 2020-11-24 2023-08-08 北京灵汐科技有限公司 核心簇同步、控制方法、数据处理方法、核心、设备、介质
CN114640657A (zh) * 2020-12-16 2022-06-17 北京国双科技有限公司 多注册中心的融合方法、装置
WO2022134358A1 (zh) * 2020-12-24 2022-06-30 平安科技(深圳)有限公司 微服务数据的处理方法、装置、微服务处理平台及介质
CN115941701A (zh) * 2022-10-13 2023-04-07 华能信息技术有限公司 一种基于微服务架构的动态配置方法
CN115941701B (zh) * 2022-10-13 2023-06-23 华能信息技术有限公司 一种基于微服务架构的动态配置方法

Also Published As

Publication number Publication date
CN110262902B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN110262902A (zh) 信息处理方法及系统、介质和计算设备
CN106850788B (zh) 面向多源异构地理信息资源的集成框架及集成方法
CN103299602B (zh) 数据同步
JP5883946B2 (ja) ネットワーク転送状態の算出ならびに伝播のためのトランザクションの使用
CN109582441A (zh) 用于提供容器服务的系统、方法和装置
CN110083660A (zh) 一种同步数据的方法、装置、介质和电子设备
CN109542865A (zh) 分布式集群系统配置文件同步方法、装置、系统及介质
CN108255592A (zh) 一种Quartz集群定时任务处理系统及方法
CN105577446B (zh) 一种轻量级嵌入式网络管理系统和方法
CN110266815B (zh) 基于区块链的微服务网络系统
CN112822115B (zh) 一种基于插件式引擎的服务框架构建方法和系统
CN105721582A (zh) 多节点文件备份系统
CN109684036A (zh) 一种容器集群管理方法、存储介质、电子设备及系统
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
CN110120961A (zh) 一种分布式服务集群及其路由同步的方法
CN106790084A (zh) 一种基于ice中间件的异构资源集成框架及其集成方法
CN105339899A (zh) 用于在软件定义网络中使应用程序集群的方法和控制器
CN104754008A (zh) 网络存储节点、网络存储系统以及用于网络存储节点的装置和方法
CN112988223A (zh) 框架集成方法、装置、电子设备及存储介质
EP3637690A1 (en) Service configuration-driven flow table method and device
CN109165261A (zh) 数据同步方法、装置、服务器及计算机存储介质
CN106027365A (zh) 一种信息交互的方法及装置
CN107454165A (zh) 一种hadoop集群对ceph集群的访问方法及装置
CN102055779A (zh) 生成高可用性组的方法、设备及系统
WO2019062156A1 (zh) 存储过程的执行方法、装置及存储介质

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd.