CN116346773A - 一种多注册中心环境下的单一注册方法 - Google Patents
一种多注册中心环境下的单一注册方法 Download PDFInfo
- Publication number
- CN116346773A CN116346773A CN202310337898.0A CN202310337898A CN116346773A CN 116346773 A CN116346773 A CN 116346773A CN 202310337898 A CN202310337898 A CN 202310337898A CN 116346773 A CN116346773 A CN 116346773A
- Authority
- CN
- China
- Prior art keywords
- registry
- registration
- service
- configuration information
- environment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims abstract description 26
- 244000046052 Phaseolus vulgaris Species 0.000 claims abstract description 26
- 238000001914 filtration Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000006378 damage Effects 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 4
- 238000011161 development Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 241000412611 Consul Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/302—Administrative registration, e.g. for domain names at internet corporation for assigned names and numbers [ICANN]
-
- 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/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
- H04L41/0286—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for search or classification or discovery of web services providing management functionalities
-
- 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/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种多注册中心环境下的单一注册方法,包括以下步骤:A:服务启动时,通过Spring Cloud获取服务配置信息;B:从内置配置文件中,获取注册中心类型与注册中心所关联的自动注册bean列表,并根据获取的注册中心类型确定出一个待注册的注册中心;C:注册中心过滤模块根据步骤A中得到服务配置信息,筛选出不允许自动注册bean列表,并设置不允许注册标记;D:注册中心检查模块根据确定出的注册中心标识,检查注册中心信息并自动开启注册中心开关,即设置开关为开启,完成服务完整注册。本发明能够实现微服务架构下多注册中心环境下的单一注册,有效解决现有技术中源码调整实现复杂、周期长的弊端。
Description
技术领域
本发明涉及微服务架构中注册中心服务注册领域,尤其涉及一种多注册中心环境下的单一注册方法。
背景技术
在微服务架构下,服务会被拆分成多个服务。为了降低服务管理和控制的成本,降低服务之间通信的难度,需要将服务注册到“注册中心”上。
由于部署环境建设标准不同,会要求服务按照指定的注册中心完成注册consul、nacos、ZooKeeper或ServiceComb。
现有技术中,常用的多注册中心环境下的单一注册方法如下:
1. 服务直接引入多个注册中心的依赖,实现多注册中心环境下的单一注册;
该方法集成复杂度高,由于受服务使用框架版本的不同需要引入对应版本注册中心的依赖,会与服务已存在的依赖产生冲突。如果开发阶段未对多注册中心的注册开发关闭,生产环境部署无法有效屏蔽其它注册中心干扰。
2. 服务引入edas,实现多注册中心环境下的单一注册;
该方法不支持ServiceComb;
综上所述,现有的微服务架构下的多注册中心环境下的单一注册方法,无法有效满足微服务架构环境下服务多注册中心单一注册的需求。
发明内容
本发明的目的是提供一种多注册中心环境下的单一注册方法,能够实现微服务架构下多注册中心环境下的单一注册,有效解决现有技术中源码调整实现复杂、周期长的弊端。
本发明采用下述技术方案:
一种多注册中心环境下的单一注册方法,包括以下步骤:
A:服务启动时,通过Spring Cloud获取服务配置信息;
B:从内置配置文件中,获取注册中心类型与注册中心所关联的自动注册bean列表,并根据获取的注册中心类型确定出一个待注册的注册中心;
C:注册中心过滤模块根据步骤A中得到服务配置信息,筛选出不允许自动注册bean列表,并设置不允许注册标记;
D:注册中心检查模块根据确定出的注册中心标识,检查注册中心信息并自动开启注册中心开关,即设置开关为开启,完成服务完整注册。
所述的步骤A中,服务配置信息中包含注册中心类型的信息。
所述的步骤C中,通过实现Spring Boot AutoConfigurationImportFilter接口,过滤掉不需要自动注册的bean列表。
所述的步骤D中,注册中心标识通过服务配置信息得到。
所述的步骤D中,通过实现Spring Boot EnvironmentPostProcessor接口自动开启注册中心开关。
还包括步骤E:
E:注册中心配置监听模块,实时监听是否收到服务配置信息变更的通知;若接收到服务配置信息变更的通知,则取消现有服务注册,并根据所接收到的新的服务配置信息中的注册中心类型,执行步骤C和D,重新注册服务。
所述的步骤E中,通过监听Spring EnvironmentChangeEvent,获取变更后的服务配置信息。
所述的步骤E中,利用Spring AutowireCapableBeanFactory完成多个bean的创建与销毁,实现重新注册服务。
本发明首先通过Spring Cloud获取服务配置信息,以确定服务的注册中心类型;然后通过内置配置文件管理注册中心类型与注册中心所关联的自动注册bean列表,以配合注册中心过滤模块根据服务配置信息过滤不允许自动注册bean列表,屏蔽其它注册中心干扰,以解决现有技术无法有效屏蔽其它注册中心干扰的缺陷;最后利用注册中心检查模块,保障在用户未开启注册中心开关时状态下也能成功完成服务完整注册。
本发明能够在多注册中心环境下,保障服务一次只能注册到一个注册中心。且当服务配置信息变更时,可根据服务配置信息切换到另外一个注册中心,有效降低了集成复杂度和注册中心切换的难度。
附图说明
图1为本发明的流程示意图。
具体实施方式
以下结合附图和实施例对本发明作以详细的描述:
如图1所示,本发明所述的多注册中心环境下的单一注册方法,包括以下具体步骤:
A:服务启动时,通过Spring Cloud获取服务配置信息;
其中,服务为微服务架构下的某个服务;服务配置信息中包含注册中心类型的信息;
本发明中,Spring Cloud是一系列框架的有序集合,能够简化分布式***基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器和数据监控等。
B:从内置配置文件中,获取注册中心类型与注册中心所关联的自动注册bean列表,并根据获取的注册中心类型确定出一个待注册的注册中心;
本发明中,内置配置文件指多注册中心内部,用于定义注册中心类型与注册中心所关联的自动注册bean列表的文件,可利用Spring Boot spi机制将内置配置在服务启动时自动注入到环境变量中,以便于后续步骤中,通过注册中心过滤模块筛选bean列表。
bean是计算机自动生成的类,bean是一个由Spring IOC容器实例化、组装和管理的对象。bean列表是指服务启动后,注册中心插件自动注入到Spring IOC的bean,这些bean作用是用于服务的注册与发现。
C:注册中心过滤模块根据步骤A中得到服务配置信息,筛选出不允许自动注册bean列表,并设置不允许注册标记;
其中,注册中心过滤模块,用于过滤掉不需要自动注册的bean列表。本发明中,可通过实现Spring Boot AutoConfigurationImportFilter接口,过滤掉不需要自动注册的bean列表,并设置不允许注册标记,以确保服务仅注册到一个注册中心。
D:注册中心检查模块根据确定出的注册中心标识,检查注册中心信息并自动开启注册中心开关,即设置开关为开启,完成服务完整注册;
本发明中,注册中心标识,可通过服务配置信息得到。在检查注册中心信息的过程中,对注册中心的开关状态进行检查,以保障在用户未开启注册中心开关时状态下,服务可以成功注册。
本实施例中,可通过实现Spring Boot EnvironmentPostProcessor接口,自动开启注册中心开关。
本发明中,考虑到服务在运行中存在需要更换注册中心的情况,因此还增设以下步骤:
E:注册中心配置监听模块,实时监听是否收到服务配置信息变更的通知,若接收到服务配置信息变更的通知,则取消现有服务注册,并根据所接收到的新的服务配置信息中的注册中心类型,执行步骤C和D,重新注册服务。
步骤E中,可通过监听Spring EnvironmentChangeEvent,获取变更后的服务配置信息。然后利用SpringAutowireCapableBeanFactory,完成多个bean的创建与销毁,实现重新注册服务。
本发明所述的多注册中心环境下的单一注册方法,首先通过Spring Cloud获取服务配置信息,以确定服务的注册中心类型;然后通过内置配置文件管理注册中心类型与注册中心所关联的自动注册bean列表,以配合注册中心过滤模块根据服务配置信息过滤不允许自动注册bean列表,屏蔽其它注册中心干扰,以解决现有技术无法有效屏蔽其它注册中心干扰的缺陷;最后利用注册中心检查模块,保障在用户未开启注册中心开关时状态下也能成功完成服务完整注册。
本发明能够在多注册中心环境下,保障服务一次只能注册到一个注册中心。且当服务配置信息变更时,可根据服务配置信息切换到另外一个注册中心,有效降低了集成复杂度和注册中心切换的难度。
Claims (8)
1.一种多注册中心环境下的单一注册方法,其特征在于,包括以下步骤:
A:服务启动时,通过Spring Cloud获取服务配置信息;
B:从内置配置文件中,获取注册中心类型与注册中心所关联的自动注册bean列表,并根据获取的注册中心类型确定出一个待注册的注册中心;
C:注册中心过滤模块根据步骤A中得到服务配置信息,筛选出不允许自动注册bean列表,并设置不允许注册标记;
D:注册中心检查模块根据确定出的注册中心标识,检查注册中心信息并自动开启注册中心开关,即设置开关为开启,完成服务完整注册。
2.根据权利要求1所述的多注册中心环境下的单一注册方法,其特征在于:所述的步骤A中,服务配置信息中包含注册中心类型的信息。
3.根据权利要求1所述的多注册中心环境下的单一注册方法,其特征在于:所述的步骤C中,通过实现Spring Boot AutoConfigurationImportFilter接口,过滤掉不需要自动注册的bean列表。
4.根据权利要求1所述的多注册中心环境下的单一注册方法,其特征在于:所述的步骤D中,注册中心标识通过服务配置信息得到。
5.根据权利要求1所述的多注册中心环境下的单一注册方法,其特征在于:所述的步骤D中,通过实现Spring Boot EnvironmentPostProcessor接口自动开启注册中心开关。
6.根据权利要求1所述的多注册中心环境下的单一注册方法,其特征在于:还包括步骤E:
E:注册中心配置监听模块,实时监听是否收到服务配置信息变更的通知;若接收到服务配置信息变更的通知,则取消现有服务注册,并根据所接收到的新的服务配置信息中的注册中心类型,执行步骤C和D,重新注册服务。
7.根据权利要求6所述的多注册中心环境下的单一注册方法,其特征在于:所述的步骤E中,通过监听Spring EnvironmentChangeEvent,获取变更后的服务配置信息。
8.根据权利要求6所述的多注册中心环境下的单一注册方法,其特征在于:所述的步骤E中,利用Spring AutowireCapableBeanFactory完成多个bean的创建与销毁,实现重新注册服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310337898.0A CN116346773A (zh) | 2023-03-31 | 2023-03-31 | 一种多注册中心环境下的单一注册方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310337898.0A CN116346773A (zh) | 2023-03-31 | 2023-03-31 | 一种多注册中心环境下的单一注册方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346773A true CN116346773A (zh) | 2023-06-27 |
Family
ID=86885581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310337898.0A Pending CN116346773A (zh) | 2023-03-31 | 2023-03-31 | 一种多注册中心环境下的单一注册方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346773A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246251A (zh) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、***、设备及可读存储介质 |
CN109766080A (zh) * | 2019-01-22 | 2019-05-17 | 努比亚技术有限公司 | 微服务注册方法、装置、电子设备及可读存储介质 |
CN112311869A (zh) * | 2020-10-28 | 2021-02-02 | 苏州万店掌网络科技有限公司 | 多类型微服务注册中心管理***及方法 |
CN113778457A (zh) * | 2021-08-05 | 2021-12-10 | 浪潮卓数大数据产业发展有限公司 | 一种混合部署模式下跨注册中心调用其他微服务的方法 |
WO2022134358A1 (zh) * | 2020-12-24 | 2022-06-30 | 平安科技(深圳)有限公司 | 微服务数据的处理方法、装置、微服务处理平台及介质 |
-
2023
- 2023-03-31 CN CN202310337898.0A patent/CN116346773A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246251A (zh) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、***、设备及可读存储介质 |
CN109766080A (zh) * | 2019-01-22 | 2019-05-17 | 努比亚技术有限公司 | 微服务注册方法、装置、电子设备及可读存储介质 |
CN112311869A (zh) * | 2020-10-28 | 2021-02-02 | 苏州万店掌网络科技有限公司 | 多类型微服务注册中心管理***及方法 |
WO2022134358A1 (zh) * | 2020-12-24 | 2022-06-30 | 平安科技(深圳)有限公司 | 微服务数据的处理方法、装置、微服务处理平台及介质 |
CN113778457A (zh) * | 2021-08-05 | 2021-12-10 | 浪潮卓数大数据产业发展有限公司 | 一种混合部署模式下跨注册中心调用其他微服务的方法 |
Non-Patent Citations (1)
Title |
---|
LINYB极客之路: "聊聊springcloud项目同时存在多个注册中心客户端采坑记", Retrieved from the Internet <URL:https://www.cnblogs.com/linyb-geek/p/15095031.html> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8843110B2 (en) | Method of providing data-related services to a telematics-equipped vehicle | |
CA2463050C (en) | Migration support mechanism in open service and open mobile architecture | |
CN111885585B (zh) | 通信业务的开通方法及通信装置 | |
US20100210306A1 (en) | Method for deactivating and possibly reactivating sim cards | |
US10064044B2 (en) | Method and apparatus for determining roaming status of terminal, terminal, and server | |
CN102780987A (zh) | 通信方法和通信终端 | |
CN108900348A (zh) | 基于sca的平台管理服务实现方法 | |
CN113127023A (zh) | 业务升级的方法、装置和*** | |
CN103686300B (zh) | 业务指南的同步方法及*** | |
CN116346773A (zh) | 一种多注册中心环境下的单一注册方法 | |
US20070147260A1 (en) | Method for loading a list of alarms by means of an alarm application | |
WO2020234037A1 (en) | Method for upgrading a profile stored in a secure element | |
CN102870117B (zh) | 服务信息的获取方法与装置 | |
CN105634852A (zh) | 校验处理方法及装置 | |
CN110113181B (zh) | 节点配置方法、装置、计算机装置、及可读存储介质 | |
CN114071464A (zh) | 基于5g消息的专网实现方法、装置、设备及存储介质 | |
CN106874088A (zh) | 一种应用程序自启动的处理方法、装置及移动终端 | |
EP2398186A1 (en) | Method, device and system for dynamic upgrade of a service | |
CN117539883B (zh) | 应用模版更新方法、装置、存储介质及设备 | |
CN113835857B (zh) | 一种外置存储设备的挂载方法、装置、设备及介质 | |
CN110582080B (zh) | 车载***流量转移的方法、装置、计算机设备和存储介质 | |
CN103546943B (zh) | 用于处理同一运营商不同网络之间兼容问题的方法及*** | |
CN111988159B (zh) | 一种网管业务数据关联下载激活方法及*** | |
CN117240939A (zh) | 一种支持多通信协议的车载服务化通信中间件及通信方法 | |
CN115865623A (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 |