CN110191164A - 分布式服务接入系统及方法 - Google Patents
分布式服务接入系统及方法 Download PDFInfo
- Publication number
- CN110191164A CN110191164A CN201910417789.3A CN201910417789A CN110191164A CN 110191164 A CN110191164 A CN 110191164A CN 201910417789 A CN201910417789 A CN 201910417789A CN 110191164 A CN110191164 A CN 110191164A
- Authority
- CN
- China
- Prior art keywords
- request
- interface
- rpc
- http
- 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.)
- Granted
Links
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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/55—Push-based network services
Abstract
本发明提供了一种分布式服务接入系统及方法。系统包括:请求接入装置接收Http请求,并将Http请求发送至网关装置;网关装置解析Http请求确定接口名称及版本号,根据接口名称判断接口是否暴露网关,若是,则构造RPC消费方,将Http请求转换为RPC请求;网关装置通过注册中心获取服务提供装置的地址列表,将RPC请求发送至服务提供装置;服务提供装置根据RPC请求返回调用结果;网关装置将调用结果转换为Http报文发送至所述服务消费方。本发明支持RPC消费方的动态构造、支持Http协议与RPC协议的转换。本发明架构简洁、易于搭建,支持企业快速落地Dubbo框架下服务化网关的搭建。
Description
技术领域
本发明涉及分布式技术中服务接入技术领域,尤指一种分布式服务接入系统方法。
背景技术
随着云平台和微服务技术的不断发展,分布式架构已经成为新一代应用架构的主流。Dubbo(一个开源的Java栈分布式服务框架)是一种业内使用非常广泛的分布式服务框架,它提供了应用架构向分布式架构转型中最基础的分布式调用能力与服务治理能力。在分布式架构中,服务提供者及消费者都需要集成分布式服务框架,这对于需要使用这些服务但又无法集成分布式服务框架的存量应用来说非常困难。例如,企业中存在一些历史遗留应用,可能基于技术栈、改造成本等原因未进行架构转型,因此无法接入分布式网络,而让服务方应用部署两套架构同时支持分布式和垂直架构,无疑增加了开发和运维的成本。因此,在整个分布式网络外层需要一个对外提供分布式服务接入的系统。
Dubbo框架中并没有分布式服务对外接入的解决方案,业内也缺乏基于Dubbo的服务化开源网关相关技术。在这种背景下,如何提供一种Dubbo框架下分布式服务接入系统是一个亟待解决的问题。
发明内容
为了解决现有分布式技术中服务接入技术中存在的问题,本发明实施例提供一种分布式服务接入系统,所述系统包括:请求接入装置、网关装置、注册中心及服务提供装置;
所述请求接入装置接收服务消费方发送的Http请求,并将所述Http请求发送至所述网关装置;
所述网关装置解析所述Http请求确定接口名称及版本号,根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;所述网关装置通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
所述服务提供装置根据所述RPC请求生成调用结果,将所述调用结果返回至所述网关装置;
所述网关装置将所述调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
可选的,在本发明一实施例中,所述请求接入装置包括:第一心跳检测单元及负载均衡单元;所述第一心跳检测单元用于检测所述网关装置的可用性;所述负载均衡单元用于根据负载均衡算法,将所述Http请求发送至所述网关装置。
可选的,在本发明一实施例中,所述负载均衡单元还用于根据最小连接数算法,将所述Http请求发送至可用的网关装置。
可选的,在本发明一实施例中,所述网关装置包括接口生成单元、协议转换单元、服务订阅单元及服务调用单元;所述接口生成单元用于获取所述注册中心中的节点数据,并根据所述节点数据生成接口文件;所述协议转换单元用于解析所述Http请求确定接口名称及版本号,并根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;所述服务订阅单元用于通过所述注册中心获取所述服务提供装置的地址列表;所述服务调用单元用于根据所述地址列表将所述RPC请求发送至所述服务提供装置。
可选的,在本发明一实施例中,所述接口生成单元还用于根据节点变化信息动态修改所述接口文件。
可选的,在本发明一实施例中,所述协议转换单元还用于:读取所述Http请求,根据URL规则解析所述Http请求确定接口名称、版本号及方法名。
可选的,在本发明一实施例中,所述注册中心包括:数据存储单元、第二心跳检测单元及变化通知单元;所述数据存储单元用于存储所述地址列表、节点数据及配置信息;所述第二心跳检测单元用于检测节点的可用性;所述变化通知单元用于推送节点变化信息。
可选的,在本发明一实施例中,所述节点变化信息包括:节点上线信息、节点下线信息及节点可用性信息。
可选的,在本发明一实施例中,所述服务提供装置包括服务注册单元、接口注册单元及接口实现单元;所述服务注册单元用于向所述注册中心发送地址列表及节点数据;所述接口注册单元用于向所述注册中心发送接口定义信息;所述接口实现单元用于所述RPC请求生成调用结果。
可选的,在本发明一实施例中,所述节点数据包括服务提供信息。
本发明实施例还提供一种分布式服务接入方法,所述方法包括:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
本发明解决了Dubbo框架下网关设计中存在的技术难点,支持RPC消费方的动态构造、支持Http协议与RPC协议的转换。另一方面,本发明架构简洁、易于搭建,支持企业快速落地Dubbo框架下服务化网关的搭建。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种分布式服务接入系统的结构示意图;
图2为本发明实施例中请求接入装置的结构示意图;
图3为本发明实施例中网关装置的结构示意图;
图4为本发明实施例中注册中心的结构示意图;
图5为本发明实施例中服务提供装置的结构示意图;
图6为本发明实施例中分布式服务接入处理过程的流程图;
图7为本发明实施例中网关装置处理过程的流程图;
图8为本发明实施例一种分布式服务接入方法的流程图。
具体实施方式
本发明实施例提供一种分布式服务接入系统及方法。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明实施例一种分布式服务接入系统的结构示意图,图中所示系统包括:请求接入装置1、网关装置2、注册中心4及服务提供装置3;
所述请求接入装置1接收服务消费方发送的Http请求,并将所述Http请求发送至所述网关装置2;
所述网关装置2解析所述Http请求确定接口名称及版本号,根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;所述网关装置2通过所述注册中心4获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
所述服务提供装置3根据所述RPC请求生成调用结果,将所述调用结果返回至所述网关装置2;
所述网关装置2将所述调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
在本实施例中,请求接入装置1接收Http请求,并发送至可用的网关装置2。网关装置2同时担任Http服务器和RPC消费端角色。网关装置2接收从请求接入装置1负载转发的Http请求,最后结果也通过Http协议返回。网关装置2根据Http请求内容和注册中心4接口存根文件中的接口定义信息动态生成接口的java类定义文件并缓存,并在第一次接受到某个接口服务的调用请求时,根据所述接口的java类定义文件,以及接口名称、版本号等信息动态生成消费方引用,并将消费方引用缓存到网关装置内存中,后续对于同一接口的请求直接从缓存中获取消费方引用,同时,网关装置2向注册中心4订阅所需服务,基于通知机制动态更新服务提供方服务提供装置3的地址列表。网关装置2从提供者服务装置3地址列表中,基于软负载均衡算法,选一台服务装置3进行调用,如果调用失败,再选另一台调用。当RPC调用返回时,返回结果是一个Java类型对象,协议转换单元使用JSON将该对象序列化成JSON,并将JSON报文写入到Http返回报文的Body中。服务提供装置3为RPC提供方节点,在节点启动时将节点地址和接口定义写入注册中心4。接收并处理网关装置2发送的RPC请求,实现接口处理逻辑,并将最终结果通过RPC协议返回给网关装置2。注册中心4为分布式提供分布式配置服务、同步服务和命名注册。提供方节点服务提供装置3会把服务注册信息以及接口定义数据写入注册中心,注册中心保证分布式下多节点的数据一致性。注册中心4返回提供方服务提供装置3地址列表给消费者网关装置2,如果有变更,注册中心4将基于长连接推送变更数据给消费方网关装置2。
作为本发明的一个实施例,如图2所示,所述请求接入装置1包括:第一心跳检测单元11及负载均衡单元12;所述第一心跳检测单元11用于检测所述网关装置的可用性;所述负载均衡单元12用于根据负载均衡算法,将所述Http请求发送至所述网关装置。
在本实施例中,所述负载均衡单元12还用于根据最小连接数算法,将所述Http请求发送至可用的网关装置。
作为本发明的一个实施例,如图3所示,所述网关装置2包括接口生成单元21、协议转换单元22、服务订阅单元23及服务调用单元24;所述接口生成单元21用于获取所述注册中心中的节点数据,并根据所述节点数据生成接口文件;所述协议转换单元22用于解析所述Http请求确定接口名称及版本号,并根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;所述服务订阅单元23用于通过所述注册中心获取所述服务提供装置的地址列表;所述服务调用单元24用于根据所述地址列表将所述RPC请求发送至所述服务提供装置。
在本实施例中,所述接口生成单元21还用于根据节点变化信息动态修改所述接口文件。
在本实施例中,所述协议转换单元22还用于:读取所述Http请求,根据URL规则解析所述Http请求确定接口名称、版本号及方法名。
在本实施例中,如图4所示,所述注册中心4包括:数据存储单元41、第二心跳检测单元42及变化通知单元43;所述数据存储单元41用于存储所述地址列表、节点数据及配置信息;所述第二心跳检测单元42用于检测节点的可用性;所述变化通知单元43用于推送节点变化信息。
其中,所述节点变化信息包括:节点上线信息、节点下线信息及节点可用性信息。
在本实施例中,如图5所示,所述服务提供装置3包括服务注册单元31、接口注册单元32及接口实现单元33;所述服务注册单元31用于向所述注册中心发送地址列表及节点数据;所述接口注册单元32用于向所述注册中心发送接口定义信息;所述接口实现单元33用于所述RPC请求生成调用结果。
其中,所述节点数据包括服务提供信息。
在本发明一具体实施例中,如图1所示是本发明的系统结构图,包括请求接入装置1、网关装置2、服务提供装置3、注册中心4。请求接入装置1与网关装置2相连;网关装置2与请求接入装置1、服务提供装置3、注册中心4相连;服务提供装置3与网关装置2、注册中心4相连;注册中心4与网关装置2、服务提供装置3相连。
请求接入装置1:用于接收来自外部的Http请求,实现负载均衡。请求接入装置1通过心跳检测机制,保证网关装置2新增、删除、重启或者宕机等场景,不影响交易请求的处理。请求接入装置1可以由负载均衡F5、DNS域名服务器组成,请求接入装置1支持多种负载均衡算法,通常我们采用最小连接数(leastConn,新的连接请求被派发至具有最小连接数目的后端服务器)的调度算法。
网关装置2:网关装置2同时担任Http服务器和RPC消费端角色。作为Http服务器,网关装置2通过Web容器(本发明中使用WebSphere)实现Http请求处理功能:网关装置2接收从请求接入装置1负载转发的Http请求,最后结果也通过Http协议返回。作为RPC消费方,网关装置2根据Http请求内容和注册中心4接口存根文件中的接口定义信息动态生成接口的java类定义文件并缓存,并在第一次接受到某个接口服务的调用请求时,根据所述接口的java类定义文件,以及接口名称、版本号等信息动态生成消费方引用,并将消费方引用缓存到网关装置内存中,后续对于同一接口的请求直接从缓存中获取消费方引用,同时,网关装置2向注册中心4订阅所需服务,基于通知机制动态更新服务提供方服务提供装置3的地址列表。网关装置2从提供者服务装置3地址列表中,基于软负载均衡算法,选一台服务装置3进行调用,如果调用失败,再选另一台调用。当RPC调用返回时,返回结果是一个Java类型对象,协议转换单元使用JSON将该对象序列化成JSON,并将JSON报文写入到Http返回报文的Body中。
服务提供装置3:服务提供装置为RPC提供方节点,在节点启动时将节点地址和接口定义写入注册中心4。接收并处理网关装置2发送的RPC请求,实现接口处理逻辑,并将最终结果通过RPC协议返回给网关装置2。
注册中心4:注册中心为分布式提供分布式配置服务、同步服务和命名注册。本发明示例中注册中心选取的是节点数据强一致性的Zookeeper,通常注册中心以集群的方式部署,实现高可用和高性能,集群数量一般以奇数,由一台leader和几台follower组成。提供方节点服务提供装置3会把服务注册信息以及接口定义数据写入注册中心,注册中心保证分布式下多节点的数据一致性。注册中心4返回提供方服务提供装置3地址列表给消费者网关装置2,如果有变更,注册中心4将基于长连接推送变更数据给消费方网关装置2。
如图2所示,请求接入装置1包括:第一心跳检测单元11、负载均衡单元12,其中:
第一心跳检测单元11:用于检测网关装置2的可用性,保障交易不会发送至故障的网关装置2上。
负载均衡单元12,用于根据负载均衡算法,将交易处理装置所需格式的交易请求发送至正常状态的网关装置。本发明的实施例采用最小连接数的算法。
图3是本发明的网关装置2的内部结构示意图,如图3所示,网关装置2包括接口生成单元21、协议转换单元22、服务订阅单元23、服务调用单元24,其中:
接口生成单元21:接口生产单元在网关装置2启动时读取注册中心4特定目录下(本发明目录为/cocoa/route)所有子节点数据,并根据节点名称及节点数据动态生成接口的Java类定义并缓存。
cocoa/route目录下每个子节点的名称都是唯一的,节点名称与接口名称一一对应。在一个实施实例中目录如下表1所示:
表1
节点数据保存的是接口类定义数据,数据格式如接口注册单元32示例所示。接口生成单元监听/cocoa/route节点的变化,动态新增、删除、修改接口类定义。
协议转换单元22:协议转换单元功能可分为如下两个部分:(1)动态生成并缓存消费方引用;(2)实现协议转换。
(1)动态生成并缓存消费方引用
协议转换单元读取Http请求报文,并根据请求URL规则识别出接口名称、版本号、方法名。网关装置2支持Restful风格请求,约定URL格式如下:
http://[ip]:[port]/[上下文根]/[接口名称]/[版本]/[方法名],其中[ip]:[port]为请求接入装置地址;上下文根在本发明中固定为/icbc/dsf;接口名称为请求接口名称;版本号为请求服务的版本;方法名为请求接口具体方法名称。
协议转换单元22根据接口名称查询网关装置是否包含该接口的类定义,对于需要暴露网关的接口都由接口生成单元21生成对应接口的java类定义文件。
在Dubbo分布式架构中,消费方不仅需要提供方接口类定义文件,还需要显式配置接口引用关系,如下Xml配置:
<dubbo:reference id="basicService1"interface="com.icbc.cocoa.sample.basic.BasicService1"version="1.0.0"/>
RPC消费方在初始化时,根据如上配置生成接口的消费方引用。网关装置2在第一次接受到某个接口服务的调用请求时,根据接口类定义、接口名称、版本号等信息动态生成消费方引用,并将消费方引用缓存到网关装置内存中。对于一个接口,消费方引用只需要生成一次,后续对于同一接口的请求直接从缓存中获取消费方引用。
(2)协议转换
从黑盒的角度来看协议转换单元实现了协议转换,实现了Http协议与RPC协议的转换,实际上这里的协议转换并非是网络报文级别的转换,而是对功能的抽象描述。
在接收到Http请求时,协议转换单元22从Http请求Body中读取此次请求参数。网关装置接约定Http请求为原生text/plain方式,请求参数以JSON数组格式放到Http请求BODY中,本发明中默认使用UTF-8编码。在一个实例中调用一次DemoService1的1.0.0版本的Map testThree(String a,int b,HashMap c)方法,一个正确的Http请求参数内容如下表2所示:
表2
协议转换单元使用JSON反序列化方式将Http请求参数反序列化为java对象,如上例中“test”被反序列化为一个String对象;“123”被反序列为int类型对象;“{"name":"xiaoming","age":6}”被反序列为HashMap类型对象。DemoService1接口的消费方引用将反序列化后得到的Java对象赋值给testThree方法的形参a、b、c,并发起RPC调用。
另一方面,当RPC调用返回时,返回结果是一个Java类型对象,协议转换单元使用JSON将该对象序列化成JSON,并将JSON报文写入到Http返回报文的Body中。如上例中,DemoService1接口的testThree方法调用成功后会返回一个Map对象,协议转换单元将Map序列化为一个JSON,格式类似如:“{"result":"ok","retCode":1}”。
服务订阅单元23:服务订阅是分布式服务框架赋予的能力,消费方向注册中心订阅服务,注册中心会返回服务提供者地址列表给消费者,如出现提供者地址上线、下线变化,注册中心将基于长连接推送变更数据给消费者。
服务调用单元24:服务调用单元使用分布式框架提供的负载均衡算法(Dubbo框架提供随机、轮循、最小连接数、一致性Hash等多种负载算法),从提供者地址列表中选一台提供者进行调用。框架支持多种远程调用协议,包括Dubbo协议、Http协议、Rmi协议等,统称为RPC协议。本发明中以Dubbo协议为例,Dubbo协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的联机服务调用场景。如果远程调用失败,服务调用单元根据提供方设置的集群容错策略进行容错处理,如失败重试等,本实例中采用快速失败策略(只发起一次调用,失败立即报错,将错误返回给调用方)。
图5是本发明中服务提供装置3内部结构示意图,如图5所示,服务提供装置3包括服务注册单元31、接口注册单元32、接口实现单元33,其中:
服务注册单元31:将服务提供方信息写入到注册中心注册自己提供的服务,该部分数据为临时数据,通过与注册中心心跳维持注册节点数据。
接口注册单元32:本发明修改了框架代码,增加一个服务定义的属性exposed,如果该属性配置为true,则会将接口注册单元将接口定义信息写入到注册中心特定目录下(/cocoa/route),目录结构如接口生成单元21所述。如下为一个实例中服务的xml定义:
<dubbo:service interface="com.icbc.cocoa.sample.basic.BasicService1"ref="basicService1"verison="1.0.0"exposed="true"/>
接口定义数据格式为JSON格式,在一个实施实例中如下表3所示:
表3
对应接口java定义如下表4所示:
表4
接口实现单元33:RPC提供方的角色就是实现接口真正的处理逻辑。
图4是本发明中注册中心4内部结构示意图,如图4所示,注册中心4包括数据存储单元41、第二心跳检测单元42、变化通知单元43,其中:
数据存储单元41:注册中心提供分布式下信息存储、同步功能,信息包括服务节点信息、配置信息等。
第二心跳检测单元42:心跳检查单元用于动态检查消费方、提供方节点的可用性,保证节点的可用性。当节点不可用时,实时低将节点的注册信息删除。
变化通知单元43:当节点出现上下线,或者心跳检测单元检测出节点不可用时。变化通知单元基于长连接实施推送提供方、消费方节点的变化信息。
在本发明一具体实施例中,分布式服务接入处理过程,包括:1)根据提供方注册数据自动生成提供方接口存根;2)根据Http请求动态生成RPC引用;3)将Http请求转换为RPC远程调用,并将RPC调用结果以Http报文格式返回。如图6所示,本发明提供的请求处理流程方法,其步骤如下:
步骤S101:请求接入装置1接收来自外部的Http请求。
步骤S102:请求接入装置1负载均衡单元12将Http请求发送至负载最低的网关装置。
步骤S103:网关装置2协议转换单元22解析Http请求URL,根据接口名称判断接口是否暴露网关。如果接口不暴露网关,直接返回Http调用方错误结果;否则继续步骤S104。
步骤S104:网关装置2协议转换单元22根据接口类定义、接口名称、版本号等信息动态构造消费方引用,将Http请求转换为RPC请求。如Http请求格式不正确,直接返回Http调用方错误结果;否则继续步骤S105。
步骤S105:网关装置2服务订阅单元23向注册中心订阅所需服务,获取服务提供装置3地址列表。
步骤S106:网关装置2服务调用单元24根据软负载策略将请求发送至某台服务提供装置3。
步骤S107:服务提供装置3接口实现单元43实现服务处理逻辑,并将结果返回给Http调用方。
如图7所示为本网关装置2完整实现流程,其步骤如下:
步骤S201:协议转换单元22从请求URL中获取接口名称。
步骤S202:协议转换单元22判断网关缓存中是否包含该接口对应的消费方引用。
步骤S203:如S202不满足,协议转换单元判断网关装置是否缓存该接口类文件,如不满足,直接返回错误结果。
步骤S204:如S203满足,协议转换单元22根据URL参数构造RPC消费方。
步骤S205:如S202满足或者S204执行完成,协议转换单元22判断请求参数格式是否正确,如不正确,直接返回错误结果。
步骤S206:如S205满足,协议转换单元22将Http请求参数转换为RPC请求参数。
步骤S207:服务订阅单元23从注册中心4获取服务提供装置3地址列表
步骤S208:服务调用单元24根据负载均衡算法选取一台服务提供装置3,发起RPC调用,等待返回。
步骤S209:协议转换单元22将S208返回结果或者错误信息返回给调用方。
本发明通过服务接口的自动生成、RPC消费方的动态构造、Http协议与Dubbo协议转换实现了网关装置的核心功能,并提供了一整套Dubbo服务架构下网关搭建、落地方法。优点如下:1、网关装置2基于接口自动生成、动态更新,网关无需集成提供方存根。2、动态构建RPC消费方服务引用,无需配置消费者服务引用关系。3、架构简洁、易于搭建,支持企业快速落地。
本发明系统需要对外部系统提供支持Web友好型协议(如Http、WebSocket协议),并实现协议转换,将Web友好协议转换为分布式网络内部协议(支持多种类型协议,总称为RPC协议)来调用内部服务,并将服务实现结果以接入协议返回给外部调用方。本发明对外提供Http协议接入方式,提供Restful风格URL格式,通过协议转换将Http请求转换为RPC请求调用服务提供方,并将调用结果转换为Http报文返回给外部调用方。
本发明解决了Dubbo框架下网关设计中存在的技术难点:接口存根(元数据)自动生成、支持RPC消费方的动态构造、支持Http协议与RPC协议的转换。另一方面,本发明架构简洁、易于搭建,支持企业快速落地Dubbo框架下服务化网关的搭建。
如图8所述为本发明实施例一种分布式服务接入方法的流程图,图中所示方法执行主体可为区块链网络中的网关装置,具体包括:
步骤S1,解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
步骤S2,根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
步骤S3,通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
步骤S4,将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
基于与上述一种分布式服务接入系统相同的申请构思,本发明还提供了上述一种分布式服务接入方法。由于该一种计分布式服务接入方法解决问题的原理与一种分布式服务接入系统相似,因此该一种分布式服务接入方法的实施可以参见一种分布式服务接入系统的实施,重复之处不再赘述。
本发明解决了Dubbo框架下网关设计中存在的技术难点:接口存根(元数据)自动生成、支持RPC消费方的动态构造、支持Http协议与RPC协议的转换。另一方面,本发明架构简洁、易于搭建,支持企业快速落地Dubbo框架下服务化网关的搭建。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
基于与上述一种分布式服务接入系统相同的申请构思,本发明还提供了上述一种计算机设备及一种计算机可读存储介质。由于该一种计算机设备及一种计算机可读存储介质解决问题的原理与一种分布式服务接入系统相似,因此该一种计算机设备及一种计算机可读存储介质的实施可以参见一种分布式服务接入系统的实施,重复之处不再赘述。
本发明解决了Dubbo框架下网关设计中存在的技术难点:接口存根(元数据)自动生成、支持RPC消费方的动态构造、支持Http协议与RPC协议的转换。另一方面,本发明架构简洁、易于搭建,支持企业快速落地Dubbo框架下服务化网关的搭建。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种分布式服务接入系统,其特征在于,所述系统包括:请求接入装置、网关装置、注册中心及服务提供装置;
所述请求接入装置接收服务消费方发送的Http请求,并将所述Http请求发送至所述网关装置;
所述网关装置解析所述Http请求确定接口名称及版本号,根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;所述网关装置通过所述注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
所述服务提供装置根据所述RPC请求生成调用结果,将所述调用结果返回至所述网关装置;
所述网关装置将所述调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
2.根据权利要求1所述的系统,其特征在于,所述请求接入装置包括:第一心跳检测单元及负载均衡单元;
所述第一心跳检测单元用于检测所述网关装置的可用性;
所述负载均衡单元用于根据负载均衡算法,将所述Http请求发送至所述网关装置。
3.根据权利要求2所述的系统,其特征在于,所述负载均衡单元还用于根据最小连接数算法,将所述Http请求发送至可用的网关装置。
4.根据权利要求1所述的系统,其特征在于,所述网关装置包括接口生成单元、协议转换单元、服务订阅单元及服务调用单元;
所述接口生成单元用于获取所述注册中心中的节点数据,并根据所述节点数据生成接口文件;
所述协议转换单元用于解析所述Http请求确定接口名称及版本号,并根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
所述服务订阅单元用于通过所述注册中心获取所述服务提供装置的地址列表;
所述服务调用单元用于根据所述地址列表将所述RPC请求发送至所述服务提供装置。
5.根据权利要求4所述的系统,其特征在于,所述接口生成单元还用于根据节点变化信息动态修改所述接口文件。
6.根据权利要求4所述的系统,其特征在于,所述协议转换单元还用于:读取所述Http请求,根据URL规则解析所述Http请求确定接口名称、版本号及方法名。
7.根据权利要求5所述的系统,其特征在于,所述注册中心包括:数据存储单元、第二心跳检测单元及变化通知单元;
所述数据存储单元用于存储所述地址列表、节点数据及配置信息;
所述第二心跳检测单元用于检测节点的可用性;
所述变化通知单元用于推送节点变化信息。
8.根据权利要求7所述的系统,其特征在于,所述节点变化信息包括:节点上线信息、节点下线信息及节点可用性信息。
9.根据权利要求7所述的系统,其特征在于,所述服务提供装置包括服务注册单元、接口注册单元及接口实现单元;
所述服务注册单元用于向所述注册中心发送地址列表及节点数据;
所述接口注册单元用于向所述注册中心发送接口定义信息;
所述接口实现单元用于所述RPC请求生成调用结果。
10.根据权利要求9所述的系统,其特征在于,所述节点数据包括服务提供信息。
11.一种分布式服务接入方法,其特征在于,所述方法包括:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
解析请求接入装置发送的Http请求,确定接口名称及版本号,其中,所述Http请求是由服务消费方发送至所述请求接入装置的;
根据所述接口名称判断接口是否暴露网关,若是,则根据所述接口名称及版本号构造RPC消费方,将所述Http请求转换为RPC请求;
通过注册中心获取所述服务提供装置的地址列表,根据所述地址列表将所述RPC请求发送至所述服务提供装置;
将所述服务提供装置返回的调用结果转换为Http报文,并将所述Http报文发送至所述服务消费方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910417789.3A CN110191164B (zh) | 2019-05-20 | 2019-05-20 | 分布式服务接入系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910417789.3A CN110191164B (zh) | 2019-05-20 | 2019-05-20 | 分布式服务接入系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110191164A true CN110191164A (zh) | 2019-08-30 |
CN110191164B CN110191164B (zh) | 2022-03-22 |
Family
ID=67716807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910417789.3A Active CN110191164B (zh) | 2019-05-20 | 2019-05-20 | 分布式服务接入系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110191164B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365750A (zh) * | 2019-06-25 | 2019-10-22 | 苏宁云计算有限公司 | 服务注册系统及方法 |
CN110650197A (zh) * | 2019-09-25 | 2020-01-03 | 华人运通(上海)新能源驱动技术有限公司 | 信号传输方法及装置 |
CN110740172A (zh) * | 2019-09-29 | 2020-01-31 | 北京淇瑀信息科技有限公司 | 一种基于微服务架构的路由管理方法、装置和系统 |
CN110830461A (zh) * | 2019-10-28 | 2020-02-21 | 杭州涂鸦信息技术有限公司 | 基于tls长连接的跨区的rpc服务调用方法及系统 |
CN110955543A (zh) * | 2019-12-12 | 2020-04-03 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、设备和计算机可读存储介质 |
CN110995746A (zh) * | 2019-12-17 | 2020-04-10 | 神州数码融信软件有限公司 | 异构网络的微服务调用方法及api网关 |
CN111131288A (zh) * | 2019-12-30 | 2020-05-08 | 中国联合网络通信集团有限公司 | 接口交互方法及设备 |
CN111818144A (zh) * | 2020-06-30 | 2020-10-23 | 中国工商银行股份有限公司 | 远程服务调用框架下的报文传输方法、装置及系统 |
CN112199426A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112328413A (zh) * | 2020-11-25 | 2021-02-05 | 中国工商银行股份有限公司 | 应用服务的调用方法、装置及系统 |
CN112422582A (zh) * | 2020-12-02 | 2021-02-26 | 天翼电子商务有限公司 | 一种异构协议应用接入方法 |
CN112527525A (zh) * | 2020-12-11 | 2021-03-19 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112685193A (zh) * | 2020-12-18 | 2021-04-20 | 易久批信息技术有限公司 | 一种微服务网关接口暴露及聚合方法 |
CN112910770A (zh) * | 2021-03-23 | 2021-06-04 | 深圳前海联动云软件科技有限公司 | 一种基于泛化调用的分布式服务网关设计方法及系统 |
CN113132438A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 服务通讯、服务处理方法、及对应装置、及服务通讯系统 |
CN113242241A (zh) * | 2021-05-11 | 2021-08-10 | 浙江鸿程计算机系统有限公司 | 一种将sap rfc协议转换为http协议的方法 |
CN113542217A (zh) * | 2021-06-07 | 2021-10-22 | 广发银行股份有限公司 | 一种服务订阅系统 |
CN113722115A (zh) * | 2020-05-26 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 调用接口的方法、装置、设备和计算机可读介质 |
CN114257576A (zh) * | 2021-12-10 | 2022-03-29 | 中信银行股份有限公司 | 一种基于支持多种通讯协议的rpc服务端实现方法 |
CN115134398A (zh) * | 2022-08-30 | 2022-09-30 | 国网信息通信产业集团有限公司 | 一种泛用rpc网关实现方法及系统 |
CN115174649A (zh) * | 2022-06-20 | 2022-10-11 | 浪潮卓数大数据产业发展有限公司 | 一种跨机房rpc调用方法、设备及介质 |
CN116668542A (zh) * | 2023-07-27 | 2023-08-29 | 之江实验室 | 一种增强型服务架构下基于异构资源绑定的业务执行方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337467A1 (en) * | 2013-05-13 | 2014-11-13 | Arista Networks, Inc. | Method and system for using json with a cli for managing network devices |
CN105554160A (zh) * | 2016-01-29 | 2016-05-04 | 四川长虹电器股份有限公司 | 一种基于nginx负载均衡的dubbo分布式集群系统架构方法 |
CN106686021A (zh) * | 2015-11-05 | 2017-05-17 | 北京京东尚科信息技术有限公司 | 一种服务调用方法和网关 |
CN107360261A (zh) * | 2017-09-07 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种http请求处理方法、装置及电子设备 |
US20180039494A1 (en) * | 2016-08-05 | 2018-02-08 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
CN108255615A (zh) * | 2017-11-30 | 2018-07-06 | 平安科技(深圳)有限公司 | 跨语言调用方法、服务器及存储介质 |
CN108509282A (zh) * | 2018-02-08 | 2018-09-07 | 厦门快商通信息技术有限公司 | 基于golang反射技术的rpc跨语言调用服务治理方法 |
CN108984316A (zh) * | 2018-06-15 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种用于分布式数据处理的方法、装置、电子设备及计算机存储介质 |
CN109150904A (zh) * | 2018-09-25 | 2019-01-04 | 深圳市佰仟金融服务有限公司 | 接口服务调用方法及终端设备 |
CN109246251A (zh) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、系统、设备及可读存储介质 |
CN109597693A (zh) * | 2018-09-25 | 2019-04-09 | 国网浙江省电力有限公司信息通信分公司 | 分布式软件系统中grpc通信协议的应用方法 |
CN109714332A (zh) * | 2018-12-26 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 基于Thrift和语法树解析的协议转换方法及装置 |
-
2019
- 2019-05-20 CN CN201910417789.3A patent/CN110191164B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337467A1 (en) * | 2013-05-13 | 2014-11-13 | Arista Networks, Inc. | Method and system for using json with a cli for managing network devices |
CN106686021A (zh) * | 2015-11-05 | 2017-05-17 | 北京京东尚科信息技术有限公司 | 一种服务调用方法和网关 |
CN105554160A (zh) * | 2016-01-29 | 2016-05-04 | 四川长虹电器股份有限公司 | 一种基于nginx负载均衡的dubbo分布式集群系统架构方法 |
US20180039494A1 (en) * | 2016-08-05 | 2018-02-08 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
CN107360261A (zh) * | 2017-09-07 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 一种http请求处理方法、装置及电子设备 |
CN108255615A (zh) * | 2017-11-30 | 2018-07-06 | 平安科技(深圳)有限公司 | 跨语言调用方法、服务器及存储介质 |
CN108509282A (zh) * | 2018-02-08 | 2018-09-07 | 厦门快商通信息技术有限公司 | 基于golang反射技术的rpc跨语言调用服务治理方法 |
CN108984316A (zh) * | 2018-06-15 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种用于分布式数据处理的方法、装置、电子设备及计算机存储介质 |
CN109150904A (zh) * | 2018-09-25 | 2019-01-04 | 深圳市佰仟金融服务有限公司 | 接口服务调用方法及终端设备 |
CN109597693A (zh) * | 2018-09-25 | 2019-04-09 | 国网浙江省电力有限公司信息通信分公司 | 分布式软件系统中grpc通信协议的应用方法 |
CN109246251A (zh) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、系统、设备及可读存储介质 |
CN109714332A (zh) * | 2018-12-26 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 基于Thrift和语法树解析的协议转换方法及装置 |
Non-Patent Citations (2)
Title |
---|
GARYOND: ""Dubbo分布式服务框架介绍"", 《HTTPS://WWW.JIANSHU.COM/P/0DAF78E14DCF》 * |
JET_QI: ""深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型"", 《HTTPS://BLOG.CSDN.NET/QQ_28959087/ARTICLE/DETAILS/86529788》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365750A (zh) * | 2019-06-25 | 2019-10-22 | 苏宁云计算有限公司 | 服务注册系统及方法 |
CN110650197A (zh) * | 2019-09-25 | 2020-01-03 | 华人运通(上海)新能源驱动技术有限公司 | 信号传输方法及装置 |
CN110650197B (zh) * | 2019-09-25 | 2022-05-20 | 华人运通(上海)新能源驱动技术有限公司 | 信号传输方法及装置 |
CN110740172A (zh) * | 2019-09-29 | 2020-01-31 | 北京淇瑀信息科技有限公司 | 一种基于微服务架构的路由管理方法、装置和系统 |
CN110830461A (zh) * | 2019-10-28 | 2020-02-21 | 杭州涂鸦信息技术有限公司 | 基于tls长连接的跨区的rpc服务调用方法及系统 |
CN110955543A (zh) * | 2019-12-12 | 2020-04-03 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、设备和计算机可读存储介质 |
CN110995746A (zh) * | 2019-12-17 | 2020-04-10 | 神州数码融信软件有限公司 | 异构网络的微服务调用方法及api网关 |
CN111131288A (zh) * | 2019-12-30 | 2020-05-08 | 中国联合网络通信集团有限公司 | 接口交互方法及设备 |
CN113132438A (zh) * | 2019-12-31 | 2021-07-16 | 深圳云天励飞技术有限公司 | 服务通讯、服务处理方法、及对应装置、及服务通讯系统 |
CN113722115A (zh) * | 2020-05-26 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 调用接口的方法、装置、设备和计算机可读介质 |
CN111818144A (zh) * | 2020-06-30 | 2020-10-23 | 中国工商银行股份有限公司 | 远程服务调用框架下的报文传输方法、装置及系统 |
CN111818144B (zh) * | 2020-06-30 | 2022-12-20 | 中国工商银行股份有限公司 | 远程服务调用框架下的报文传输方法、装置及系统 |
CN112199426A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112199426B (zh) * | 2020-09-24 | 2023-06-02 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112328413A (zh) * | 2020-11-25 | 2021-02-05 | 中国工商银行股份有限公司 | 应用服务的调用方法、装置及系统 |
CN112328413B (zh) * | 2020-11-25 | 2023-09-26 | 中国工商银行股份有限公司 | 应用服务的调用方法、装置及系统 |
CN112422582A (zh) * | 2020-12-02 | 2021-02-26 | 天翼电子商务有限公司 | 一种异构协议应用接入方法 |
CN112527525A (zh) * | 2020-12-11 | 2021-03-19 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112527525B (zh) * | 2020-12-11 | 2024-04-02 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112685193A (zh) * | 2020-12-18 | 2021-04-20 | 易久批信息技术有限公司 | 一种微服务网关接口暴露及聚合方法 |
CN112685193B (zh) * | 2020-12-18 | 2024-03-22 | 易久批信息技术有限公司 | 一种微服务网关接口暴露及聚合方法 |
CN112910770A (zh) * | 2021-03-23 | 2021-06-04 | 深圳前海联动云软件科技有限公司 | 一种基于泛化调用的分布式服务网关设计方法及系统 |
CN112910770B (zh) * | 2021-03-23 | 2022-11-29 | 深圳前海联动云软件科技有限公司 | 一种基于泛化调用的分布式服务网关设计方法及系统 |
CN113242241A (zh) * | 2021-05-11 | 2021-08-10 | 浙江鸿程计算机系统有限公司 | 一种将sap rfc协议转换为http协议的方法 |
CN113542217A (zh) * | 2021-06-07 | 2021-10-22 | 广发银行股份有限公司 | 一种服务订阅系统 |
CN114257576A (zh) * | 2021-12-10 | 2022-03-29 | 中信银行股份有限公司 | 一种基于支持多种通讯协议的rpc服务端实现方法 |
CN115174649A (zh) * | 2022-06-20 | 2022-10-11 | 浪潮卓数大数据产业发展有限公司 | 一种跨机房rpc调用方法、设备及介质 |
CN115134398A (zh) * | 2022-08-30 | 2022-09-30 | 国网信息通信产业集团有限公司 | 一种泛用rpc网关实现方法及系统 |
CN116668542A (zh) * | 2023-07-27 | 2023-08-29 | 之江实验室 | 一种增强型服务架构下基于异构资源绑定的业务执行方法 |
CN116668542B (zh) * | 2023-07-27 | 2023-09-22 | 之江实验室 | 一种增强型服务架构下基于异构资源绑定的业务执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110191164B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191164A (zh) | 分布式服务接入系统及方法 | |
WO2020147466A1 (zh) | 调用服务器的方法和代理服务器 | |
CN107612955A (zh) | 微服务提供方法、装置及系统 | |
CN110457134A (zh) | 建立基于容器云和微服务架构的视频大数据云平台的方法 | |
CN109542641A (zh) | 服务调用方法、装置及系统 | |
WO2020202043A1 (en) | Method for reselection of a network function (nf) service instance of a nf service producer | |
Wu et al. | OneM2M-based IoT protocol integration | |
CN110430275A (zh) | 数据处理方法、装置、系统、计算设备以及介质 | |
CN103580937A (zh) | 一种Web 服务模拟的方法及其系统和服务代理系统 | |
CN108011768A (zh) | 一种aop拦截式HBase数据存储微服务架构构建方法 | |
CN110032451A (zh) | 分布式多语言消息实现方法、装置及服务器 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN107707644A (zh) | 请求消息的处理方法、装置、存储介质、处理器及终端 | |
CN105959349A (zh) | 一种分布式服务端运行系统及方法 | |
CN107172214A (zh) | 一种具有负载均衡的服务节点发现方法及装置 | |
CN114217981A (zh) | 银企直连的通信方法、装置、计算机设备和存储介质 | |
US9239744B2 (en) | Hybrid objects | |
Rotter et al. | Telecom strategies for service discovery in microservice environments | |
Xia et al. | 5G service based core network design | |
CN115567604A (zh) | 基于微服务系统的服务调用方法及服务器 | |
CN114675821B (zh) | 一种基于低代码的服务标准化系统及方法 | |
Nakagawa et al. | Dripcast-architecture and implementation of server-less Java programming framework for billions of IoT devices | |
CN111049915A (zh) | 一种容器云下消息队列代理网格及方法 | |
CN110324425B (zh) | 混合云交易路由处理方法及装置 | |
CN114968617A (zh) | Api转换系统及其访问请求处理方法、电子设备及介质 |
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 |