CN116155978A - 多注册中心适配方法、装置、电子设备及存储介质 - Google Patents
多注册中心适配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116155978A CN116155978A CN202310140342.2A CN202310140342A CN116155978A CN 116155978 A CN116155978 A CN 116155978A CN 202310140342 A CN202310140342 A CN 202310140342A CN 116155978 A CN116155978 A CN 116155978A
- Authority
- CN
- China
- Prior art keywords
- registry
- cluster
- model
- target
- service
- 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
Links
- 230000006978 adaptation Effects 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 16
- 238000001914 filtration Methods 0.000 claims description 9
- 241000412611 Consul Species 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000002457 bidirectional effect Effects 0.000 abstract description 4
- 230000003044 adaptive effect Effects 0.000 abstract 2
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000000306 component Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 3
- 210000000805 cytoplasm Anatomy 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 244000145841 kine Species 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本公开提供了一种多注册中心适配方法、装置、电子设备及计算机可读存储介质,涉及微服务技术领域。该方法包括:接收用户的元数据信息,生成管理注册中心模型,当监听到管理注册中心模型更新时,根据管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型并与对应的目标注册中心连接,根据集群注册中心模型的元数据信息,查询目标集群内需要同步的集群服务实例,将集群服务实例同步至对应的目标注册中心;获取目标注册中心的注册服务实例,根据注册服务实例,在目标集群创建对应的服务实例模型及服务模型。本公开实施例能实现多个注册中心的适配接入与其中服务实例的双向同步,降低不同注册中心的适配工作量。
Description
技术领域
本公开涉及微服务技术领域,尤其涉及一种多注册中心适配方法、装置、电子设备及计算机可读存储介质。
背景技术
注册中心是微服务架构中最重要的组件之一,它肩负着服务的注册与发现功能,记录了服务和服务地址的映射关系。多种类型的注册中心没有统一的规范而提供的API(Application Programming Interface,应用程序接口)各不相同,这就造成了,无论任何微服务RPC(Remote Procedure Call,远程过程调用)框架使用某一类注册中心时需要去做专门的适配,并且需要不同框架做不同的适配,并且同一类型框架采用不同语言的时候,同样需要根据不同的语言再进行做不同的适配,极大的增加了开发工作量,更加重了投产后的运维成本。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种多注册中心适配方法、装置、电子设备及计算机可读存储介质,至少在一定程度上克服相关技术中微服务框架适配不同注册中心效率低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种多注册中心适配方法,应用于存储节点,包括:接收用户的元数据信息,生成管理注册中心模型;当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;根据所述集群注册中心模型的元数据信息,与对应的目标注册中心连接;将所述目标集群中的集群服务实例与所述目标注册中心的注册服务实例进行同步。
在本公开的一个实施例中,所述将所述目标集群中的服务实例与所述目标注册中心的注册服务实例进行同步包括:根据所述集群注册中心模型的元数据信息,查询所述目标集群内需要同步的所述集群服务实例;将所述集群服务实例同步至对应的所述目标注册中心。
在本公开的一个实施例中,所述将所述目标集群中的服务实例与所述目标注册中心的注册服务实例进行同步包括:获取所述目标注册中心的注册服务实例;根据所述注册服务实例,在所述目标集群创建对应的服务实例模型及服务模型。
在本公开的一个实施例中,所述当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型包括:当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息将注册中心适配同步器部署至所述目标集群,并生成部署信息;根据所述部署信息,创建与所述注册中心适配同步器对应的所述集群注册中心模型。
在本公开的一个实施例中,还包括:所述注册中心适配同步器监听所述目标注册中心的服务实例变动信息;根据所述服务实例变动信息,更新所述目标集群的集群服务实例。
在本公开的一个实施例中,所述根据所述集群注册中心模型的元数据信息,查询所述目标集群内需要同步的所述集群服务实例包括:通过标签过滤机制定位需要进行服务同步的服务实例列表信息;根据服务实例列表信息确定所述集群服务实例。
在本公开的一个实施例中,所述元数据信息包括:服务名、集群可访问权限或服务实例的基础数据。
在本公开的一个实施例中,所述目标注册中心包括:Eureka、Zookeeper、Consul或Nacos。
根据本公开的另一个方面,还提供了一种多注册中心适配装置,包括:
注册中心生成模块,接收用户的元数据信息,生成管理注册中心模型;
集群中心部署模块,当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;
注册中心连接模块,根据所述集群注册中心模型的元数据信息,与对应的目标注册中心连接;
服务实例同步模块,将所述目标集群中的集群服务实例与所述目标注册中心的注册服务实例进行同步。
根据本公开的另一个方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述多注册中心适配方法。
根据本公开的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的多注册中心适配方法。
本公开的实施例所提供的多注册中心适配方法、装置、电子设备及计算机可读存储介质,接收用户的元数据信息,生成管理注册中心模型,当监听到管理注册中心模型更新时,根据管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型,根据集群注册中心模型的元数据信息,与对应的目标注册中心连接,根据集群注册中心模型的元数据信息,查询目标集群内需要同步的集群服务实例,将集群服务实例同步至对应的目标注册中心;获取目标注册中心的注册服务实例,根据注册服务实例,在目标集群创建对应的服务实例模型及服务模型,实现多个注册中心的适配接入与其中服务实例的双向同步,降低不同注册中心的适配工作量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种多注册中心适配方法流程图;
图2示出本公开实施例中一种集群服务实例同步至对应的目标注册中心方法流程图;
图3示出本公开实施例中一种注册服务实例同步至对应的集群方法流程图;
图4示出本公开实施例中一种多注册中心适配装置示意图;
图5示出本公开实施例中一种多注册中心适配系统示意图;
图6示出本公开实施例中一种电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图及实施例对本示例实施方式进行详细说明。
首先,本公开实施例中提供了一种多注册中心适配方法,该方法可以由任意具备计算处理能力的电子设备执行。
图1示出本公开实施例中一种多注册中心适配方法流程图,如图1所示,本公开实施例中提供的多注册中心适配方法,应用于存储节点,包括如下步骤:
S102,接收用户的元数据信息,生成管理注册中心模型;
在本公开的一个实施例中,元数据信息包括但不限于:服务名、集群可访问权限、服务标签、服务版本号、服务实例权重、路由规则或服务实例的基础数据,能够为微服务建模提供数据,在模型定义基础上,将云原生服务网格思想与注册中心服务实例同步逻辑相结合。
在一个实施例中,将用户的元数据信息通过Admin Rest API提交创建生成管理注册中心模型。
Admin Rest API(Admin Representational State Transfer ApplicationProgramming Interface,管理表现层状态转移应用程序接口)提供了一种简单,灵活和可扩展的接口来制作可通过Internet进行通信的分布式应用程序。
管理注册中心模型,描述了微服务网格下接入纳管的注册中心服务实例的具体信息,供注册中心适配同步器读取连接信息并创建于注册中心的连接进行后续相关的服务注册与发现操作。
管理注册中心模型包括但不限于:应用程序接口版本apiversion、集群需要的组件kind、元数据metadata等;元数据包括但不限于:类名name、类型type、地址address、用户名username、同步配置syncconfig、服务名称servicenames等。
例如,注册中心的类型为nacos,表征CRD(Custom Resource Definition,自定义资源类型)描述了一个nacos注册中心的相关元数据信息;同步配置syncconfig下,描述了需要同步到网格内或同步到该注册中心的服务相关信息。
S104,当监听到管理注册中心模型更新时,根据管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;
目标集群是部署集群注册中心模型的集群,可以是但不限于是K8S(Kubernetes)集群,本公开实施例以K8S集群为例进行介绍。
在一个实施例中,当监听到管理注册中心模型更新时,根据管理注册中心模型的元数据信息将注册中心适配同步器部署至目标集群,并生成部署信息;根据部署信息,创建与注册中心适配同步器对应的集群注册中心模型,将数据全量同步,实现多个注册中心的服务实例同步。
部署信息为部署至目标集群的元数据,包括但不限于:地址、用户名、服务名称、相关的管理注册中心模型等。
在一个实施例中,基于K8s的Operator机制,监听管理注册中心模型的创建更新删除等动态,自动根据CRD里的描述信息将注册中心适配同步器部署至网格下的多个目标集群,生成部署信息,将部署信息进行转换创建与注册中心适配同步器对应的集群注册中心模型,CRD作为注册中心的中心存储节点,将数据全量同步,实现多个注册中心的服务实例同步。
S106,根据集群注册中心模型的元数据信息,与对应的目标注册中心连接;
集群注册中心模型可参见管理注册中心模型,集群注册中心模型只包括与本集群注册相关的元数据,根据集群注册中心模型的元数据信息,与对应的目标注册中心连接。
目标注册中心为适配接入的注册中心,目标注册中心包括但不限于:Eureka、Zookeeper、Consul或Nacos,可接入一种或多种目标注册中心,完成多个注册中心的适配接入与其中服务实例的双向同步;目标注册中心是微服务架构中最重要的组件之一,它肩负着服务的注册与发现功能,服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,例如路由信息等,记录了服务和服务地址的映射关系。
S108,将目标集群中的集群服务实例与目标注册中心的注册服务实例进行同步。
集群服务实例为目标集群原生的集群服务实例,注册服务实例为注册中心中老应用的服务实例。
在一个实施例中,将K8s集群内原生的集群服务实例信息注册到对应的注册中心,达到让老应用在通过传统注册中心服务发现的模式下发现K8s集群内的服务实例。
在一个实施例中,将注册中心中老应用的服务实例同步至K8s集群内,具体操作为创建对应的服务模型与服务实例模型,达到让新架构的应用在不做任何改造的前提下可以访问老应用的服务及服务实例的目的。
相关技术中,不同注册中心拥有相同或类似的职能,却因为在此领域没有统一的规范而提供的API各不相同,目前均来自于不同RPC框架自身对于不同注册中心产品的适配;如果用户采用不同的RPC(m),不同的语言(n),传统的SDK(Software Development Kit,软件开发工具包)适配注册中心就需要针对某一个注册中心最大适配(m*n)次,这极大的增加了开发工作量,更加重了投产后的运维成本,在降本增效的大环境下,这样的场景是无法被接受的;对于传统应用使用虚机部署且注册到已有的注册中心的场景下,如果企业内服务架构升级为云原生体系,本公开实施例能更换已有的注册中心或者使用微服务网格模式即不再使用注册中心而采用K8s自身的服务发现模式,传统的SDK适配注册中心是无法解决迁移至云原生架构取消注册中心时,老应用的兼容问题。
上述实施例中,通过云原生服务网格的方式进行微服务建模,抽象微服务中各种模型实体,例如服务模型、管理注册中心模型、服务实例模型等,统一不同注册中心的各式各样的模型定义,在此模型定义基础上,将云原生服务网格思想与注册中心服务实例同步逻辑相结合,完成多个注册中心的适配接入与其中服务实例的双向同步,更可以多提供一种以集群为基础进行服务注册发现机制,达到降低不同注册中心的适配工作量以及解决老应用在架构升级中的兼容问题,为服务治理中如单元化,异地多活等高端服务治理功能提供基础支持。
图2示出本公开实施例中一种集群服务实例同步至对应的目标注册中心方法流程图,如图2所示,本公开实施例中提供的集群服务实例同步至对应的目标注册中心方法,包括如下步骤:
S202,通过标签过滤机制定位需要进行服务同步的服务实例列表信息;
标签Lable是一个键值对,可以附加在各种资源上,一个对象资源可以定义任意数量的Lable,同时一个lable也可以被添加到任意数量的资源对象上去,Lable可以在资源对象定义时确定,也可以在对象创建后动态添加和删除;Lable就是给资源对象打一个标签,然后通过标签选择器Label Secletor通过便签过滤机制查询和筛选拥有某些Label的资源对象,k8s通过这种方式实现了类似SQL(Structured Query Language,结构化查询语言)的简单和通用的对象查询机制,通过标签过滤机制可高效查询出需要进行服务同步的服务实例列表信息,从而确定集群服务实例。
在一个实施例中,对每个服务设置一个标签,标签包括但不限于:服务名称等,通过集群的查询机制与标签过滤机制根据标签中包括的服务名称获取到需要同步的服务对应的服务实例列表信息。
S204,根据服务实例列表信息确定集群服务实例;
在一个实施例中,服务实例列表信息为需要同步的服务实例的列表,根据服务实例列表信息可高效确定需要同步的集群服务实例。
S206,将集群服务实例同步至对应的目标注册中心。
在一个实施例中,目标注册中心接收集群发送的注册请求,其中,注册请求包括:需要同步的集群服务实例;目标注册中心根据注册请求将注册需要同步的集群服务实例。
上述实施例中,企业架构升级过程中老应用可以与集群云原生服务网格模式兼容,可将集群服务实例同步至对应的目标注册中心,从而让目标注册中心获取到所有可用的服务实例,即满足老应用不做任何修改,又可以满足新应用的老应用的服务发现需求。
图3示出本公开实施例中一种注册服务实例同步至对应的集群方法流程图,如图3所示,本公开实施例中提供的注册服务实例同步至对应的集群方法,包括如下步骤:
S302,获取目标注册中心的注册服务实例;
在一个实施例中,通过标签过滤机制定位需要进行服务同步的服务实例列表信息,根据服务实例列表信息确定注册服务实例,具体步骤可参见上一个实施例对此不再赘述。
S304,根据注册服务实例,在目标集群创建对应的服务实例模型及服务模型。
在一个实施例中,服务模型描述了一个基础服务的相关元数据,服务模型包括但不限于:服务名service id、系统文件host等,提供服务实例做服务发现时进行后续请求的基础数据。
在一个实施例中,服务实例模型描述了一个基础服务下对应的某个服务实例,对应于某个POD(Plain Old Documentation)或者虚拟机场景下的某个应用进程,服务实例模型包括但不限于:服务实例的地址address,端口ports等,通过描述中的地址与端口可以提供给客户端请求该服务,完成整体响应流程。
S306,注册中心适配同步器监听目标注册中心的服务实例变动信息;根据服务实例变动信息,更新目标集群的集群服务实例。
在一个实施例中,服务实例变动信息包括但不限于:服务实例新增、服务实例删除、或服务实例变更等,当注册中心适配同步器监听到述目标注册中心的服务实例变动信息,根据服务实例变动信息,更新目标集群的集群服务实例,注册中心适配同步器适配不同注册中心,并根据用户配置选择性的同步具体服务下的所有服务实例通过同步接口至一个或多个目标注册中心,做到服务实例同步更可控,同步接口是不同目标注册中心的接口。
在一个实施例中,多个注册中心适配同步器可实时监听目标注册中心的服务实例变动信息,保证服务实例同步的时效性。
在一个实施例中,多个注册中心适配同步器可轮循监听目标注册中心的服务实例变动信息,当一个注册中心适配同步器监听到述目标注册中心的服务实例变动信息,可再启动多个注册中心适配同步器监听到述目标注册中心的服务实例变动信息,节约资源。
上述实施例中,企业架构升级过程中老应用可以与集群云原生服务网格模式兼容,可将注册服务实例同步至对应的集群,既满足老应用不做任何修改,又可以满足新应用的老应用的服务发现需求;通过对服务模型以及服务实例的模型抽象,我们可以在多注册中心适配的需求场景下统一理念,以统一的模型为基础扩展适配不同的注册中心,使其项目架构清晰实现便捷,更可以将核心逻辑在统一的模型基础上做抽离,将不同注册中心的适配按照设计模式中模板模式抽象其具体方法,按照插件化的方式适配不同注册中心。
基于同一发明构思,本公开实施例中还提供了一种多注册中心适配装置,如下面的实施例。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图4示出本公开实施例中一种多注册中心适配装置示意图,如图4所示,该多注册中心适配装置4包括:注册中心生成模块401、集群中心部署模块402、注册中心连接模块403及服务实例同步模块404;
注册中心生成模块401,接收用户的元数据信息,生成管理注册中心模型;
集群中心部署模块402,当监听到管理注册中心模型更新时,根据管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;
注册中心连接模块403,根据集群注册中心模型的元数据信息,与对应的目标注册中心连接;
服务实例同步模块404,将目标集群中的集群服务实例与目标注册中心的注册服务实例进行同步。
上述实施例中,降低不同RPC框架的适配复杂度,当不同RPC框架使用不同注册中心时,只需要不同框架实现以统一的模型基础上进行适配基于集群的服务注册发现,便可以同时满足无论集群内还是集群外的服务发现能力,解决企业架构升级过程中老应用与集群云原生服务网格模式下兼容问题,目标注册中心与集群中的服务实例可双向同步,即满足老应用不做任何修改,又可以满足新应用的老应用的服务发现需求。
基于同一发明构思,本公开实施例中还提供了一种多注册中心适配系统,如下面的实施例。由于该系统实施例解决问题的原理与上述方法实施例相似,因此该系统实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图5示出本公开实施例中一种多注册中心适配系统示意图,以四个两个网格,每个网格包括两个目标集群,目标注册中心55包括两个注册中心为例进行介绍。
如图5所示,该多注册中心适配系统5包括:管理集群50、第一集群51、第二集群52、第三集群53及第四集群54,其中第一集群51与第二集群52在第一网格,第三集群53与第四集群54在第二网格。
管理集群50包括:元数据接收接口501、管理注册中心模型502、注册控制器503;
管理集群50还包括网格操作管理模块、网格操作CRD模块、网格操作接口等,用于管理网格中的目标集群。
第一集群51包括:第一服务模型511、第一服务实例模型512、第一注册中心适配同步器513、第一集群注册中心模型514、第一同步服务实例515;
第二集群52包括:第二服务模型521、第二服务实例模型522、第二注册中心适配同步器523、第二集群注册中心模型524、第二同步服务实例525;
第三集群53包括:第三服务模型531、第三服务实例模型532、第三注册中心适配同步器533、第三集群注册中心模型534、第三同步服务实例535;
第四集群54包括:第四服务模型541、第四服务实例模型542、第四注册中心适配同步器543、第四集群注册中心模型544、第四同步服务实例545;
目标注册中心55包括:第一注册中心551、第二注册中心552;
控制台提供添加适配同步的注册中心的功能,用户将注册中心相关元数据信息通过元数据接收接口501Admin Rest API提交创建生成管理注册中心模型502;
基于K8s的Operator机制,注册控制器503监听管理注册中心模型502的创建更新删除等动态,自动根据管理注册中心模型502中CRD里的描述信息将四个注册中心适配同步器,即第一注册中心适配同步器513、第二注册中心适配同步器523、第三注册中心适配同步器533及第四注册中心适配同步器543部署到指定的第一网格及第二网格下面的不同K8s集群中,即第一集群51、第二集群52、第三集群53及第四集群54,同时将部署信息对应转换为第一集群注册中心模型514、第二集群注册中心模型524、第三集群注册中心模型534及第四集群注册中心模型544并创建到与注册中心适配同步器相同的集群中。
以第一集群51为例,第一注册中心适配同步器513连接第一集群注册中心模型514,第一注册中心适配同步器513监听第一集群注册中心模型514的动态,且注册控制器503对第一集群注册中心模型514可进行增加、读取查询、更新或删除等操作;第一注册中心适配同步器513根据第一集群注册中心模型514中的相关描述信息,自动与对应的目标注册中心55建立连接,即第一注册中心适配同步器513与第一注册中心551、第二注册中心552建立连接;
第二集群52、第三集群53及第四集群54的步骤可参见第一集群51,在此不作赘述。
根据第一集群注册中心模型514、第二集群注册中心模型524、第三集群注册中心模型534及第四集群注册中心模型544中描述的服务名称信息,通过K8s自身Client查询与Label过滤机制定位需要进行服务同步的服务实例列表信息,每个服务启动一个线程或者协程,并根据配置信息选择进行如下操作:
将K8s集群内原生的服务实例信息,即第一同步服务实例515、第二同步服务实例525、第三同步服务实例535或第四同步服务实例545注册到对应的目标注册中心55,达到让老应用在通过传统注册中心服务发现的模式下发现K8s集群内的服务实例。
将目标注册中心55中老应用的服务实例同步至K8s集群内,具体操作为创建对应的服务实例模型与服务模型,以第一集群51为例进行介绍,第一集群51获取目标注册中心55的注册服务实例,根据目标注册服务实例创建第一服务模型511、第一服务实例模型512;
第二集群52、第三集群53及第四集群54的创建对应服务模型及服务实例模型步骤可参见第一集群51,在此不作赘述,达到让新架构的应用在不做任何改造的前提下可以访问老应用的服务实例的目的。
第一注册中心适配同步器513、第二注册中心适配同步器523、第三注册中心适配同步器533及第四注册中心适配同步器543同样会监听目标注册中心55的服务实例变动信息;在收到服务实例新增或者删除时,同样操作本集群中的服务实例模型数据,新增或者删除对应的服务实例模型。
目标注册中心55连接客户端及服务端,客户端可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机等;服务端可以是提供各种服务的服务器,后台管理服务器可以对接收到的请求等数据进行分析等处理。
上述实施例中,通过依赖元原生的部署模式,统一抽象微服务模型,模型中包括服务模型,服务实例模型等,通过云原生K8s中CRD的形式进行存储,并实现通过K8s的监听机制同步至目标注册中心55,实现逻辑自闭环的多适配中心适配与服务实例同步,使用云原生服务网格架构下的微服务体系不再需要适配不同的注册中心,即可达到服务发现的目的,不同的框架只需要适配K8s的服务发现机制,以K8s作为注册中心,减少适配种类多,工作量繁重的问题,在网络通畅的情况下,采用新架构的微服务依然可以从K8s中发现老应用的服务实例并进行访问。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图6来描述根据本公开的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
例如,所述处理单元610可以执行上述方法实施例的如下步骤:接收用户的元数据信息,生成管理注册中心模型;当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;根据所述集群注册中心模型的元数据信息,与对应的目标注册中心连接;将所述目标集群中的集群服务实例与所述目标注册中心的注册服务实例进行同步。
例如,所述处理单元610可以执行上述方法实施例的如下步骤:通过标签过滤机制定位需要进行服务同步的服务实例列表信息;根据服务实例列表信息确定集群服务实例;将集群服务实例同步至对应的目标注册中心;获取目标注册中心的注册服务实例;根据注册服务实例,在目标集群创建对应的服务实例模型及服务模型;注册中心适配同步器监听目标注册中心的服务实例变动信息;根据服务实例变动信息,更新目标集群的集群服务实例。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备640(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。
并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
例如,本公开实施例中的程序产品被处理器执行时实现如下步骤的方法:接收用户的元数据信息,生成管理注册中心模型;当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;根据所述集群注册中心模型的元数据信息,与对应的目标注册中心连接;将所述目标集群中的集群服务实例与所述目标注册中心的注册服务实例进行同步。
例如,本公开实施例中的程序产品被处理器执行时实现如下步骤的方法:获取目标注册中心的注册服务实例;根据注册服务实例,在目标集群创建对应的服务实例模型及服务模型;注册中心适配同步器监听目标注册中心的服务实例变动信息;根据服务实例变动信息,更新目标集群的集群服务实例。
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (11)
1.一种多注册中心适配方法,其特征在于,应用于存储节点,包括:
接收用户的元数据信息,生成管理注册中心模型;
当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;
根据所述集群注册中心模型的元数据信息,与对应的目标注册中心连接;
将所述目标集群中的集群服务实例与所述目标注册中心的注册服务实例进行同步。
2.根据权利要求1所述的多注册中心适配方法,其特征在于,所述将所述目标集群中的服务实例与所述目标注册中心的注册服务实例进行同步包括:
根据所述集群注册中心模型的元数据信息,查询所述目标集群内需要同步的所述集群服务实例;
将所述集群服务实例同步至对应的所述目标注册中心。
3.根据权利要求1所述的多注册中心适配方法,其特征在于,所述将所述目标集群中的服务实例与所述目标注册中心的注册服务实例进行同步包括:
获取所述目标注册中心的注册服务实例;
根据所述注册服务实例,在所述目标集群创建对应的服务实例模型及服务模型。
4.根据权利要求1所述的多注册中心适配方法,其特征在于,所述当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型包括:
当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息将注册中心适配同步器部署至所述目标集群,并生成部署信息;
根据所述部署信息,创建与所述注册中心适配同步器对应的所述集群注册中心模型。
5.根据权利要求4所述的多注册中心适配方法,其特征在于,还包括:
所述注册中心适配同步器监听所述目标注册中心的服务实例变动信息;
根据所述服务实例变动信息,更新所述目标集群的集群服务实例。
6.根据权利要求2所述的多注册中心适配方法,其特征在于,所述根据所述集群注册中心模型的元数据信息,查询所述目标集群内需要同步的所述集群服务实例包括:
通过标签过滤机制定位需要进行服务同步的服务实例列表信息;
根据服务实例列表信息确定所述集群服务实例。
7.根据权利要求1所述的多注册中心适配方法,其特征在于,所述元数据信息包括:服务名、集群可访问权限或服务实例的基础数据。
8.根据权利要求1所述的多注册中心适配方法,其特征在于,所述目标注册中心包括:Eureka、Zookeeper、Consul或Nacos。
9.一种多注册中心适配装置,其特征在于,包括:
注册中心生成模块,接收用户的元数据信息,生成管理注册中心模型;
集群中心部署模块,当监听到所述管理注册中心模型更新时,根据所述管理注册中心模型的元数据信息,在一个或多个目标集群中部署集群注册中心模型;
注册中心连接模块,根据所述集群注册中心模型的元数据信息,与对应的目标注册中心连接;
服务实例同步模块,将所述目标集群中的集群服务实例与所述目标注册中心的注册服务实例进行同步。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~8中任意一项所述多注册中心适配方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~8中任意一项所述的多注册中心适配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310140342.2A CN116155978A (zh) | 2023-02-13 | 2023-02-13 | 多注册中心适配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310140342.2A CN116155978A (zh) | 2023-02-13 | 2023-02-13 | 多注册中心适配方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116155978A true CN116155978A (zh) | 2023-05-23 |
Family
ID=86361538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310140342.2A Pending CN116155978A (zh) | 2023-02-13 | 2023-02-13 | 多注册中心适配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116155978A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609973A (zh) * | 2024-01-23 | 2024-02-27 | 江苏博云科技股份有限公司 | 一种注册中心纳管方法、系统、装置及服务器 |
CN117609973B (zh) * | 2024-01-23 | 2024-05-07 | 江苏博云科技股份有限公司 | 一种注册中心纳管方法、系统、装置及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170346690A1 (en) * | 2016-05-27 | 2017-11-30 | Intel Corporation | Methods, systems and apparatus to improve cluster efficiency |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN112292666A (zh) * | 2018-06-06 | 2021-01-29 | 施耐德电气美国股份有限公司 | 云计算环境的分布式标准注册中心 |
CN114884959A (zh) * | 2022-03-23 | 2022-08-09 | 中国人寿保险股份有限公司 | 多云多活架构的部署方法及相关设备 |
CN115134373A (zh) * | 2022-06-28 | 2022-09-30 | 中国工商银行股份有限公司 | 数据同步方法、装置、存储介质及电子设备 |
-
2023
- 2023-02-13 CN CN202310140342.2A patent/CN116155978A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170346690A1 (en) * | 2016-05-27 | 2017-11-30 | Intel Corporation | Methods, systems and apparatus to improve cluster efficiency |
CN112292666A (zh) * | 2018-06-06 | 2021-01-29 | 施耐德电气美国股份有限公司 | 云计算环境的分布式标准注册中心 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN114884959A (zh) * | 2022-03-23 | 2022-08-09 | 中国人寿保险股份有限公司 | 多云多活架构的部署方法及相关设备 |
CN115134373A (zh) * | 2022-06-28 | 2022-09-30 | 中国工商银行股份有限公司 | 数据同步方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
汪润;方英兰;韩兵;: "服务发布与发现在面向服务的架构中的研究与应用", 电脑知识与技术, no. 06, 25 February 2018 (2018-02-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609973A (zh) * | 2024-01-23 | 2024-02-27 | 江苏博云科技股份有限公司 | 一种注册中心纳管方法、系统、装置及服务器 |
CN117609973B (zh) * | 2024-01-23 | 2024-05-07 | 江苏博云科技股份有限公司 | 一种注册中心纳管方法、系统、装置及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262902B (zh) | 信息处理方法及系统、介质和计算设备 | |
US7992132B2 (en) | Server side application integration framework | |
US8327350B2 (en) | Virtual resource templates | |
US8645672B2 (en) | Configuring a computer system for a software package installation | |
WO2009098909A1 (ja) | 仮想アプライアンス配備システム | |
JP5046161B2 (ja) | ネットワーク・エッジ・コンピューティング向けのアプリケーション分割 | |
CN105472042A (zh) | Web端控制的消息中间件系统及其数据传送方法 | |
CN113742031B (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
WO2018192478A1 (zh) | 云管理平台、虚拟机管理方法及其系统 | |
CN112417051A (zh) | 容器编排引擎资源管理方法及装置、可读介质及电子设备 | |
CN104731943A (zh) | 一种服务器和数据处理方法 | |
CN115517009B (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
CN114079615A (zh) | 一种多集群环境下的应用同步方法、系统、介质和电子设备 | |
CN113821352A (zh) | 一种远程服务的调用方法和装置 | |
CN113626095A (zh) | 配置中心的切换方法、切换系统、电子设备及存储介质 | |
CN114844788B (zh) | 网络数据分析方法、系统、设备及存储介质 | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
CN115480877A (zh) | 多集群环境下应用服务的对外暴露方法和装置 | |
CN112328184B (zh) | 一种集群扩容方法、装置、设备及存储介质 | |
CN114610509A (zh) | 调用参数处理方法、系统、设备、存储介质及产品 | |
JP2007148844A (ja) | ソフトウェア無線機におけるドメイン管理インタフェース | |
CN113641641A (zh) | 文件存储服务的切换方法、切换系统、设备及存储介质 | |
CN116541133B (zh) | 容器应用的纳管方法、其装置及电子设备 | |
CN114884956B (zh) | 多集群架构的实现方法、装置及多集群架构系统 | |
Ping | Application of the Extension Point and Plug-Ins Idea in Transmission Network Management System |
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 |