CN113778457A - 一种混合部署模式下跨注册中心调用其他微服务的方法 - Google Patents
一种混合部署模式下跨注册中心调用其他微服务的方法 Download PDFInfo
- Publication number
- CN113778457A CN113778457A CN202110894708.6A CN202110894708A CN113778457A CN 113778457 A CN113778457 A CN 113778457A CN 202110894708 A CN202110894708 A CN 202110894708A CN 113778457 A CN113778457 A CN 113778457A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- calling
- deployment mode
- hybrid deployment
- 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 28
- 241000700189 Hystrix <Rodentia> Species 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000002955 isolation Methods 0.000 claims description 3
- 230000004888 barrier function Effects 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000011161 development Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明特别涉及一种混合部署模式下跨注册中心调用其他微服务的方法。该混合部署模式下跨注册中心调用其他微服务的方法,开发一个微服务内部调用客户端公共组件,利用微服务内部调用客户端公共组件将各个服务提供方的接口定义集成在一起,并与服务调用方的服务工程代码隔离,将服务提供方的接口定义以依赖包的形式供服务调用方使用。该混合部署模式下跨注册中心调用其他微服务的方法,打破了跨注册中心服务间调用的壁垒,既能适应纯SaaS化的统一部署,又能适应半SaaS化的混合部署,而且只需要维护一套代码,运维成本低,能够实现低成本的快速部署和灵活切换,适宜推广应用。
Description
技术领域
本发明涉及信息化软件系统技术领域,特别涉及一种混合部署模式下跨注册中心调用其他微服务的方法。
背景技术
SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟兴起的一种完全创新的软件应用模式。它与"on-demand software"(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
针对某些业务场景,有时需要将整个系统的一部分服务部署到客户本地,而中心服务仍在云上,这就形成了一种半SaaS化混合部署的模式。在这种模式下,基于微服务架构实现的系统,往往需要在本地搭建一套注册中心来实现本地服务间的调用,而本地服务无法通过所在注册中心访问到远程的其他服务。
为了能够让一些SaaS服务在其他本地化的微服务架构中被调用,需要一种方案来打破跨注册中心服务间调用的壁垒。
基于上述情况,本发明提出了一种混合部署模式下跨注册中心调用其他微服务的方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的混合部署模式下跨注册中心调用其他微服务的方法。
本发明是通过如下技术方案实现的:
一种混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:开发一个微服务内部调用客户端公共组件,利用微服务内部调用客户端公共组件将各个服务提供方的接口定义集成在一起,并与服务调用方的服务工程代码隔离,将服务提供方的接口定义以依赖包的形式供服务调用方使用,从而使混合部署模式下处于不同注册中心下的微服务间内部调用时,可以不受注册中心隔离限制,实现跨注册中心的服务间内部调用。
所述微服务内部调用客户端公共组件与服务提供方和服务调用方均实现代码分离,能够在不影响业务服务的前提下单独进行维护。
所述微服务内部调用客户端公共组件将服务提供方的接口定义汇聚到一个公共包里面,同时支持服务身份鉴权所需信息的传输,服务提供方利用身份鉴权作为安全措施来保证服务调用过程的安全。
当服务调用方所需的接口服务不在当前注册中心,需要调用远程注册中心里的接口服务时,服务调用方只需根据约定的参数名配置所需远程服务的地址,即可在无需修改自身程序代码的情况下实现对远程注册中心接口服务进行调用。
所述微服务内部调用客户端公共组件为每个服务提供方的API同时增加了环境判断,根据当前部署模式来决定服务调用方最终的请求流向。
当采用混合部署模式时,微服务内部调用客户端公共组件根据配置文件中特定的配置参数计算出当前的部署模式以及跨注册中心的请求网关地址,然后将服务内部调用的请求指向该网关地址。
所述微服务内部调用客户端公共组件支持根据配置参数自动在本地注册中心调用接口服务和远程注册中心调用接口服务间切换。
所述微服务内部调用客户端公共组件还支持可插拔的注解,包括Feign注解和JAX-RS注解;支持可插拔的HTTP编码器和解码器;支持Hystrix和它的Fallback;支持Ribbon的负载均衡。
本发明的有益效果是:该混合部署模式下跨注册中心调用其他微服务的方法,打破了跨注册中心服务间调用的壁垒,既能适应纯SaaS化的统一部署,又能适应半SaaS化的混合部署,而且只需要维护一套代码,运维成本低,能够实现低成本的快速部署和灵活切换,适宜推广应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明混合部署模式下跨注册中心调用其他微服务的方法示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
所述混合部署(边缘云)模式是指一部分服务包括基础服务、中心服务等微服务部署在公有云之上,另一部分业务相关服务需要部署在客户现场(边缘云)。在微服务架构中,两部分服务存在注册中心隔离,属于两个独立的注册中心。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。在通过SpringCloud构建的微服务架构中,服务间内部调用的前提是同时注册在一个注册中心下。当存在多个独立并行的注册中心,服务要跨注册中心调用其他服务时,传统的调用方式就无法满足当前需求。
该混合部署模式下跨注册中心调用其他微服务的方法,开发一个微服务内部调用客户端公共组件,利用微服务内部调用客户端公共组件将各个服务提供方的接口定义集成在一起,并与服务调用方的服务工程代码隔离,将服务提供方的接口定义以依赖包的形式供服务调用方使用,从而使混合部署模式下处于不同注册中心下的微服务间内部调用时,可以不受注册中心隔离限制,实现跨注册中心的服务间内部调用。
所述微服务内部调用客户端公共组件与服务提供方和服务调用方均实现代码分离,能够在不影响业务服务的前提下单独进行维护。
所述微服务内部调用客户端公共组件将服务提供方的接口定义汇聚到一个公共包里面,同时支持服务身份鉴权所需信息的传输,服务提供方利用身份鉴权作为安全措施来保证服务调用过程的安全。
当服务调用方所需的接口服务不在当前注册中心,需要调用远程注册中心里的接口服务时,服务调用方只需根据约定的参数名配置所需远程服务的地址,即可在无需修改自身程序代码的情况下实现对远程注册中心接口服务进行调用。
所述微服务内部调用客户端公共组件为每个服务提供方的API同时增加了环境判断,根据当前部署模式来决定服务调用方最终的请求流向。
当采用混合部署模式时,微服务内部调用客户端公共组件根据配置文件中特定的配置参数计算出当前的部署模式以及跨注册中心的请求网关地址,然后将服务内部调用的请求指向该网关地址。
所述微服务内部调用客户端公共组件支持根据配置参数自动在本地注册中心调用接口服务和远程注册中心调用接口服务间切换。
所述微服务内部调用客户端公共组件还支持可插拔的注解,包括Feign注解和JAX-RS注解;支持可插拔的HTTP编码器和解码器;支持Hystrix和它的Fallback(备用计划);支持Ribbon的负载均衡。
Hystrix是一个开源项目,主要作用是通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
微服务间的调用,API网关的请求转发等内容都是通过Ribbon来实现的。SpringCloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。
与现有技术相比,该混合部署模式下跨注册中心调用其他微服务的方法,具有以下特点:
(一)实现了一套通用机制,通过一个公共组件对所处的部署环境进行判断,从而自动选择调用中心服务的方式;服务调用方不需要修改已交付验收的程序代码即可实现跨注册中心调用接口服务,能够实现低成本的快速部署。
(二)微服务本身无需关注部署方式,只维护一套代码,既能适应纯SaaS化的统一部署,又能适应半SaaS化的混合部署;服务调用方调用接口服务时可以在本地注册中心和远程注册中心之前灵活切换,服务提供方的部署环境发生改变时,可以快速的进行适配。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:开发一个微服务内部调用客户端公共组件,利用微服务内部调用客户端公共组件将各个服务提供方的接口定义集成在一起,并与服务调用方的服务工程代码隔离,将服务提供方的接口定义以依赖包的形式供服务调用方使用,从而使混合部署模式下处于不同注册中心下的微服务间内部调用时,可以不受注册中心隔离限制,实现跨注册中心的服务间内部调用。
2.根据权利要求1所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:所述微服务内部调用客户端公共组件与服务提供方和服务调用方均实现代码分离,能够在不影响业务服务的前提下单独进行维护。
3.根据权利要求2所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:所述微服务内部调用客户端公共组件将服务提供方的接口定义汇聚到一个公共包里面,同时支持服务身份鉴权所需信息的传输,服务提供方利用身份鉴权作为安全措施来保证服务调用过程的安全。
4.根据权利要求3所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:当服务调用方所需的接口服务不在当前注册中心,需要调用远程注册中心里的接口服务时,服务调用方只需根据约定的参数名配置所需远程服务的地址,即可在无需修改自身程序代码的情况下实现对远程注册中心接口服务进行调用。
5.根据权利要求4所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:所述微服务内部调用客户端公共组件为每个服务提供方的API同时增加了环境判断,根据当前部署模式来决定服务调用方最终的请求流向。
6.根据权利要求5所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:当采用混合部署模式时,微服务内部调用客户端公共组件根据配置文件中特定的配置参数计算出当前的部署模式以及跨注册中心的请求网关地址,然后将服务内部调用的请求指向该网关地址。
7.根据权利要求2所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:所述微服务内部调用客户端公共组件支持根据配置参数自动在本地注册中心调用接口服务和远程注册中心调用接口服务间切换。
8.根据权利要求7所述的混合部署模式下跨注册中心调用其他微服务的方法,其特征在于:所述微服务内部调用客户端公共组件还支持可插拔的注解,包括Feign注解和JAX-RS注解;支持可插拔的HTTP编码器和解码器;支持Hystrix和它的Fallback;支持Ribbon的负载均衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110894708.6A CN113778457A (zh) | 2021-08-05 | 2021-08-05 | 一种混合部署模式下跨注册中心调用其他微服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110894708.6A CN113778457A (zh) | 2021-08-05 | 2021-08-05 | 一种混合部署模式下跨注册中心调用其他微服务的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778457A true CN113778457A (zh) | 2021-12-10 |
Family
ID=78836778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110894708.6A Pending CN113778457A (zh) | 2021-08-05 | 2021-08-05 | 一种混合部署模式下跨注册中心调用其他微服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778457A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116346773A (zh) * | 2023-03-31 | 2023-06-27 | 河南合众伟奇云智科技有限公司 | 一种多注册中心环境下的单一注册方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147588A (zh) * | 2019-12-27 | 2020-05-12 | 上海浦东发展银行股份有限公司 | 企业级微服务平台中实现跨域跨中心通信的方法及系统 |
-
2021
- 2021-08-05 CN CN202110894708.6A patent/CN113778457A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147588A (zh) * | 2019-12-27 | 2020-05-12 | 上海浦东发展银行股份有限公司 | 企业级微服务平台中实现跨域跨中心通信的方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116346773A (zh) * | 2023-03-31 | 2023-06-27 | 河南合众伟奇云智科技有限公司 | 一种多注册中心环境下的单一注册方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296300B2 (en) | Aiding creation of service offers associated with a service delivery framework | |
US8467354B1 (en) | Systems and methods for software-implemented telephony devices in a voice over internet protocol (VoIP) system | |
US7707240B2 (en) | Proxy for application server | |
US20040120473A1 (en) | Using a telephony application server for call control with a voice server | |
JP2014187699A (ja) | 電話通信アプリケーションサービス | |
US6519228B1 (en) | System and method of operation for verifying and validating public switch telephone networks (PSTN) to (IP) network services | |
US8532092B2 (en) | Methods, systems, and computer readable media for providing next generation network (NGN)-based end user services to legacy subscribers in a communications network | |
US20020120746A1 (en) | Method and system for providing a service | |
JP2014090446A (ja) | 通信網 | |
EP2656628B1 (en) | Communications service broker for orchestration of services in a telecommunications network | |
US7809368B2 (en) | Architecture for location independent, automated integration testing and quality assurance of next generation IMS services | |
CN115086176B (zh) | 基于SpringCloud微服务技术实现服务治理策略动态下发的系统 | |
CN113778457A (zh) | 一种混合部署模式下跨注册中心调用其他微服务的方法 | |
CN110995829B (zh) | 实例调用方法、装置及计算机存储介质 | |
CN116366652A (zh) | 分布式应用运维方法、系统、装置、服务器及网关设备 | |
CN114840329A (zh) | 一种基于区块链的云原生混合集成方法 | |
CA3002274A1 (en) | Telecommunication parameter change notification system and method | |
WO2012031471A1 (zh) | 一种实现网元管理客户端功能使用的方法和系统 | |
US6873695B2 (en) | Generic service component for voice processing services | |
US20090089770A1 (en) | Method and Apparatus for Performing Non Service Affecting Software Upgrades in Place | |
US20090257571A1 (en) | Interface module | |
US20020184353A1 (en) | Remote administration and monitoring of a service component in a service logic execution environment | |
US20040105537A1 (en) | Generic service component for message formatting | |
CN111580998A (zh) | SaaS服务模式下多租户的RPC调用方法 | |
WO2014183507A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211210 |
|
RJ01 | Rejection of invention patent application after publication |