CN106453288B - 一种支持异步模式的分布式微服务框架***及其实现方法 - Google Patents
一种支持异步模式的分布式微服务框架***及其实现方法 Download PDFInfo
- Publication number
- CN106453288B CN106453288B CN201610865152.7A CN201610865152A CN106453288B CN 106453288 B CN106453288 B CN 106453288B CN 201610865152 A CN201610865152 A CN 201610865152A CN 106453288 B CN106453288 B CN 106453288B
- Authority
- CN
- China
- Prior art keywords
- service
- request
- data
- call
- information
- 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.)
- Active
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/133—Protocols for remote procedure calls [RPC]
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Exchange Systems With Centralized Control (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种支持异步模式的分布式微服务框架***,包括服务网关代理层、服务提供端、服务注册中心和服务调用端。服务网关代理层包括协议转换器和传输器。此外,本发明还公开了该***的实现方法。本发明解决了如下几方面问题:1)支持异步分布式服务回调,解决回调中出现响应处理单点故障问题;2)支持不同协议和传输层之间的转换,打通全过程微服务调用;3)实现服务发布、调用的主编程模型注解模式,提高实现效率,降低维护复杂度;4)实现调用端和服务提供端的双缓存机制,提高服务调用效率;5)实现统一服务注册中心,集中化管理所有发布服务。
Description
技术领域
本发明属于计算机领域,涉及一种微服务框架,具体涉及跨协议调用和异步分布式服务回调模式,尤其涉及一种支持异步模式的分布式微服务框架***;为此,本发明还涉及该支持异步模式的分布式微服务框架***的实现方法。
背景技术
随着互联网的发展,应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构势在必行,微服务架构就是其中一种实践。微服务架构把单一应用拆解到更细粒度的微服务,每个服务都是可独立部署、独立运行、有完整的服务契约,达到***高度解耦的目的。现有微服务框架(参阅图1)实现了服务发布和调用等核心基础功能,但在面对长时间处理的服务,高频次服务调用,跨平台的服务调用等场景时,还存在较多问题,主要体现在以下几方面:
1)不支持异步分布式服务回调:同步处理可以应对常见的“请求-响应”模式,但长时间的任务处理服务必须需要回调模式来支撑,避免长时间锁定服务线程资源,造成调用端和服务提供者的堵塞情况。现有框架实现了参数回调模式,也就是只支持本地处理程序回调,一旦在服务调用后本地容器崩溃,服务提供者回调后将会出现找不到回调程序,丢失服务数据或出现服务数据不一致的情况。这主要是因为现有框架在调用服务时只保存了本地程序回调的对象引用,对于多节点分布式服务的情况根本没有考虑,这样无法满足需要高稳定性的分布式服务***需求。
2)不支持跨协议的微服务调用:微服务的调用者会涉及到多平台、多通信渠道的情况,如开发移动互联网应用时,移动APP端需要调用微服务,考虑到移动网络的延迟和不稳定等特性,需要使用WEB SOCKET传输数据,而后台微服务提供者是基于队列服务器传输数据。这就需要框架能支持协议和传输器之间的代理转换和报文转换,而现有框架要求所有调用和服务提供者使用统一的协议和传输器,无法满足互联网应用跨平台跨协议模式的开发。
3)缺乏对服务的缓存处理机制:现有框架缓存机制实现较简单,只考虑了调用端的本地缓存处理,在面对高频次服务调用时消耗较大,降低服务处理的效率。
4)缺乏服务的统一管理:现行框架缺失服务管理,只在服务调用端维护一份本地服务列表文件,难以保证服务的一致性,有效性,无法对服务进行统一调度和管理,整体服务框架维护的复杂度急剧上升。
5)服务调用不支持主编程模型的注解模式:现行框架的所有服务调用和暴露都需要在配置文件中详细定义,包括调用服务的接口,方法,回调说明等,无法实现在编程过程中的自述隐喻,和主编程模型无缝嵌入,等于需要在配置文件中重新描述一遍服务接口的调用逻辑,增加了调用实现的工作量和维护的复杂度。
发明内容
本发明要解决的技术问题在于提供一种支持异步模式的分布式微服务框架***,通过分解巨大的单体式应用为多个独立服务的方法解决复杂性问题,在功能不变的情况下,应用被分解为多个可管理的服务,每个服务都用RPC(Remote Procedure CallProtocol——远程过程调用协议)定义出清晰的边界,增加了服务的可管理性和调用的简易高效,解决了如下几方面问题:
1)支持异步分布式服务回调,解决回调中出现响应处理单点故障问题;
2)支持不同协议和传输层之间的转换,打通全过程微服务调用;
3)实现服务发布、调用的主编程模型注解模式,提高实现效率,降低维护复杂度;
4)实现调用端和服务提供端的双缓存机制,提高服务调用效率;
5)实现统一服务注册中心,集中化管理所有发布服务。
为解决上述技术问题,本发明提供一种支持异步模式的分布式微服务框架***,包括服务网关代理层、服务提供端、服务注册中心和服务调用端;
所述服务网关代理层包括协议转换器和传输器,所述协议转换器负责外部请求的数据和内部服务支撑的协议格式数据相互转换,所述传输器负责请求数据和响应数据的传输;
所述服务提供端负责发布服务到服务注册中心,收到服务请求后进行业务处理;
所述服务注册中心负责发布服务登记,服务的查找处理;
所述服务调用端根据指定的服务调用信息通过服务注册中心查找服务目的地,发起远程服务的请求并获取服务响应数据;
所述传输器在接收到远程调用端的请求数据后,通过协议转换器转换成协议格式数据,然后通过服务调用端程序发送组装好的服务请求给服务提供端,服务提供端发布服务到服务注册中心,服务调用端通过服务注册中心查找服务目的地并获取服务响应数据,所述传输器在收到该服务响应数据后再转发给远程调用端。
作为本发明优选的技术方案,所述协议转换器主要包括协议处理器和序列化处理器两部分,负责所有服务请求数据和响应数据的组装、序列化和反序列化,翻译成主编程模型可直接处理的数据;所述协议转换器中的协议处理器、序列化处理器都能自由插拔;所述传输器包括WEB SOCKET传输器和HTTP传输器;所述远程调用端包括IOS远程调用端、Android远程调用端和WEB远程调用端。
作为本发明优选的技术方案,所述服务提供端,包括分布式缓存模块,注解模型,Ti-Lnk协议,回调Stub处理模块以及RabbitMq处理器;所述分布式缓存模块负责根据服务提供接口的参数缓存配置,使用分布式缓存存储中间件,提供数据缓存处理;所述注解模型负责使用主编程语言实现服务注册,服务调用注入,服务参数,缓存配置的注解功能;所述回调Stub处理模块负责存储异步回调服务的描述信息,包括服务名称,使用的协议,服务的接口描述,方法签名,使得服务提供端在异步回调时可以查找到目标服务接收地址;所述RabbitMq处理器负责RabbitMq消息队列的操作,包括在调用服务时把组装好的协议数据发送到服务提供端的监听队列和服务调用端等待响应和异步回调的监听队列;所述Ti-Lnk协议负责服务请求和响应数据的协议组装和拆包处理;所述本地缓存模块负责服务调用过程中的本地缓存处理,主要实现了线程级别的缓存处理;
所述服务提供端在业务处理前,服务注册中心会根据配置的缓存服务查找命中的缓存数据,如果命中,则直接返回,否则继续后续业务处理;在服务调用端需要异步服务回调时,将回调Stub信息存储到缓存服务中,当服务请求处理完成后,查找对应的回调信息,并通过服务注册中心查找对应的回调服务目的地,完成回调处理;
所有服务提供端启动后会把需要对外发布的服务登记到服务注册中心,包括服务名称,服务目的地寻址信息,服务可调用的接口名称,服务请求的参数类型和内容,服务的回调信息;当服务调用端需要请求时,会使用服务名称查找对应的寻址信息,再进行远程调用。
作为本发明优选的技术方案,所述服务调用端包括本地缓存模块,注解模型,Ti-Lnk协议以及RabbitMq传输器;所述本地缓存模块负责服务调用过程中的本地缓存处理,主要实现了线程级别的缓存处理;所述注解模型负责使用主编程语言实现服务注册,服务调用注入,服务参数,缓存配置的注解功能;所述RabbitMq处理器负责RabbitMq消息队列的操作,包括在调用服务时把组装好的协议数据发送到服务提供端的监听队列和服务调用端等待响应和异步回调的监听队列;所述Ti-Lnk协议负责服务请求和响应数据的协议组装和拆包处理;所述本地缓存模块负责服务调用过程中的本地缓存处理,主要实现了线程级别的缓存处理;
所述服务调用端在发起远程服务的请求前,会根据调用请求信息先查找本地缓存是否存在命中的缓存数据,如果命中,直接返回缓存数据,否则继续后续的远程服务请求。
作为本发明优选的技术方案,所述内部服务支撑的协议格式为Ti-lnk协议,所述Ti-Lnk协议采用帧式报文结构,每帧主要由报文长度域和报文内容域构成,报文长度域使用BIG_ENDIAN编码,占用4个字节,报文内容域使用JSON报文格式,并且在内容长度超过128k时,进行压缩传输处理。
此外,本发明还提供一种上述***的实现方法,该方法包括Ti-Lnk协议的实现,服务注册中心功能实现,服务调用过程实现以及服务网关实现。
作为本发明优选的技术方案,所述Ti-Lnk协议的实现包括如下步骤:
a)Ti-Lnk服务请求报文:报文头包括调用服务的标识,调用的服务接口名称,调用的接口参数签名,报文体包括需要调用服务传入的各项参数,每个参数是一帧;
b)Ti-Lnk服务提供端响应报文:报文头包括服务端信息,服务版本,应答类型,服务会话标识信息,报文体内容是服务响应结果。
作为本发明优选的技术方案,所述服务注册中心功能实现包括如下步骤:
a)服务提供端在启动服务时会将服务信息提交到服务注册中心,包括服务名称,服务接口,接口请求参数和类型,服务地址信息;
b)服务注册中心收到服务注册请求后将注册服务纳入到心跳监测队列中,保持和服务提供端的联系,一旦服务出现故障,立即更新当前服务注册中心的服务列表,并向所有相关的服务订阅者进行服务信息变更推送;
c)服务调用端会把所有需要调用的服务列表向服务注册中心发送订阅请求,服务注册中心会同步返回请求的服务详细调用信息,同时和调用方维系一条长链接来推送订阅服务的变更;
d)服务调用端在实际服务调用时,会从本地服务列表直接查找对应的目标服务信息,如在程序是动态调用,没有事先订阅的,会直接发起新的服务查找请求;在查找结果返回后,更新本地服务列表。
作为本发明优选的技术方案,所述服务调用过程实现包括如下步骤:
a)服务调用端发起调用后首先会在本地缓存中查找是否存在有效的击中数据,如果命中则直接返回缓存结果,否则继续后续调用处理;
b)服务调用端根据调用服务名称在本地服务列表中查找服务寻址信息,如没有查找到直接向服务注册中心发起查询请求,获取到服务目标地址信息后,先进行协议层数据的转换,包括数据组装和序列化操作,完成后选择对应的传输器发送到目标地址,如调用是异步回调模式,在确认送达后立即返回;
c)服务提供端通过传输器收到请求的数据后,先根据对应的协议进行反序列化和数据解包操作,然后判定此次调用的模式,如果是异步服务回调,会将回调服务的Stub保存在分布式缓存存储中,然后生成代理对象进入服务方法调用;
d)服务提供端根据请求数据找到对应的服务程序,同时根据服务对应的缓存配置来查找缓存数据;
e)如缓存数据没有命中,服务提供端会继续服务内部的逻辑处理,处理完成后,判定调用模式,如果是异步服务回调,会取出当时存储的回调Stub,并请求服务注册中心,查询到有效的服务目标地址,接着根据对应的协议和传输器,执行数据组装,序列化和发送操作;
f)服务调用端收到响应数据后,按照对应协议进行数据解包和反序列化的操作,保存在当前线程级别的缓存存储中,再进行后续处理,调用过程结束。
作为本发明优选的技术方案,所述服务网关实现包括如下步骤:
a)远程调用端发起服务调用请求,通过WEB SOCKET传输器发送请求数据到服务网关代理层;
b)服务网关代理层使用WEB SOCKET传输器收到请求数据后,先对请求数据的头信息进行解析,拿到请求的服务信息后,在本地代理服务列表进行映射查找;
c)确定后台服务名称和接口后,将目标服务请求地址传入服务调用端程序,然后开始执行服务调用;
d)服务调用端程序返回结果后,服务网关再次根据远程调用端使用的协议组装响应数据和对应的WEB SOCKET传输器发送请求响应。
根据以上提供的技术方案,与现有技术相比,本发明提供的支持异步模式的微服务框架,具有以下有益效果:
1、相对于现有技术框架中的服务回调技术,本发明提供的支持异步分布式回调功能,可以解决长时间服务处理的回调问题,服务调用方在请求确认送达后即可结束调用,不会对服务调用者的线程资源有任何多余占用,很大程度提高了调用效率,减少调用的资源消耗,保障业务数据的一致性,提高服务的可靠性。
2、本发明提供的服务网关代理技术,针对跨协议,跨传输器的服务调用场景,可以打通前后端服务的调用,支撑同步、异步调用,由此降低了前端服务调用的复杂性,把前端服务调用从后端协议层,传输层解耦开,保障了服务的独立性。
3、相对于现有技术框架中的缓存技术,本发明提供的服务调用端和服务提供端的双缓存技术,可灵活的根据各种缓存数据命中策略,提高高频次服务调用的效率,减少服务提供端的压力。
4、相对于现有技术框架的服务调用实现,本发明提供的主编程注解模型,可以加快服务调用和服务提供实现,减少配置文件的维护成本。
5、相对现有技术框架的服务管理,本发明提供的服务管理中心,可以实时获取每个服务的状态,并实时通知调用者对应的订阅服务状态,保障服务的一致性和稳定性。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是现有微服务框架***结构图。
图2是本发明支持异步模式的分布式微服务框架***的结构示意图。
图3是本发明中Ti-Lnk协议的报文结构示意图。
图4是本发明中服务注册中心与服务调用端及服务提供端的关系示意图。
图5是本发明中服务调用的流程图。
图6是本发明中网关服务处理的流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
本发明提供了一种支持异步模式的微服务框架(Ti-Lnk框架)***,不仅实现微服务的基础同步调用,服务注册管理,还能实现异步分布式服务的回调,以及跨协议跨传输层的调用。此外,所有的服务调用和处理都支持主编程模型的注解方式。
整个***主要分为服务网关代理层,服务提供端,服务调用端,服务注册中心,整体框架参见图2。
1)服务网关代理层主要由协议转换器和传输器组成,协议转换器负责外部请求的数据和内部服务支撑的协议格式(Ti-lnk协议)数据相互转换,传输器(图2中的WEB SOCKET传输器,HTTP传输器)负责请求数据和响应数据的传输,在接收到远程调用端(图2中的IOS远程调用端、Android远程调用端,WEB远程调用端)的请求数据后,通过协议转换器转换成通用的Ti-Lnk协议数据,然后通过服务调用端程序发送组装好的服务请求给服务提供端,在收到服务响应后再转发给远程调用端。
2)服务提供端,包括分布式缓存模块,注解模型,Ti-Lnk协议,回调Stub处理模块以及RabbitMq处理器。
2.1)分布式缓存模块:根据服务提供接口的参数缓存配置,使用分布式缓存存储中间件,提供数据缓存处理
2.2)注解模型:使用主编程语言实现服务注册,服务调用注入,服务参数,缓存配置的注解功能。
2.3)回调Stub处理模块:存储异步回调服务的描述信息,包括服务名称,使用的协议,服务的接口描述,方法签名等,使得服务提供端在异步回调时可以查找到目标服务接收地址。
2.4)RabbitMq处理器:负责RabbitMq消息队列的操作,包括在调用服务时把组装好的协议数据发送到服务提供端的监听队列和服务调用端等待响应和异步回调的监听队列。
2.5)Ti-Lnk协议:负责服务请求和响应数据的协议组装和拆包处理。
2.6)服务提供端负责发布服务到服务注册中心,收到服务请求后进行业务处理。在业务处理前,服务注册中心会根据配置的缓存服务查找命中的缓存数据,如果命中,则直接返回,否则继续后续业务处理。在服务调用端需要异步服务回调时,将回调Stub信息存储到缓存服务中,当服务请求处理完成后,查找对应的回调信息,并通过服务注册中心查找对应的回调服务目的地,完成回调处理。
3)服务调用端包括本地缓存模块,注解模型,Ti-Lnk协议以及RabbitMq传输器。
3.1)本地缓存模块:负责服务调用过程中的本地缓存处理,主要实现了线程级别的缓存处理。
3.2)注解模型:同2.2)
3.3)Ti-Lnk协议:同2.5)
3.4)RabbitMq传输器:同2.4)
3.5)服务调用端根据指定的服务调用信息通过服务注册中心查找服务目的地,发起远程服务的请求并获取服务响应数据。在发起远程服务的请求前,服务调用端会根据调用请求信息先查找本地缓存是否存在命中的缓存数据,如果命中,直接返回缓存数据,否则继续后续的远程服务请求。
4)服务注册中心负责发布服务登记,服务的查找处理。所有服务提供端启动后会把需要对外发布的服务登记到服务注册中心,包括服务名称,服务目的地寻址信息,服务可调用的接口名称,服务请求的参数类型和内容,服务的回调信息等。当服务调用端需要请求时,会使用服务名称查找对应的寻址信息,再进行远程调用。
5)协议转换器主要包括协议处理器和序列化处理器两部分,负责所有服务请求数据和响应数据的组装、序列化和反序列化,翻译成主编程模型可直接处理的数据。模块中的协议处理器、序列化处理器都可以自由插拔。
6)服务调用端和服务提供端都会嵌入主编程注解模型,用来执行服务调用,服务发布,服务回调标注等功能,使得整个处理可以不需要额外的配置文件快速实现。
本发明提供的微服务框架具体实施主要分成四个主要部分:Ti-Lnk协议的实现,服务注册中心功能实现,服务调用过程实现,服务网关实现。
1)Ti-Lnk协议:Ti-Lnk协议是为了实现服务调用数据的传输而设计的,协议的整体结构参见图3。
a)Ti-Lnk的协议设计采用了帧式报文结构,每帧主要由报文长度域和报文内容域构成。报文长度域使用BIG_ENDIAN编码,占用4个字节,报文内容域使用JSON报文格式,并且在内容长度超过128k时,进行压缩传输处理。
b)Ti-Lnk服务请求报文:报文头包括调用服务的标识,调用的服务接口名称,调用的接口参数签名,报文体包括需要调用服务传入的各项参数,每个参数是一帧。
c)Ti-Lnk服务提供端响应报文:报文头包括服务端信息,服务版本,应答类型(正常响应或者异常响应),服务会话标识信息,报文体内容是服务响应结果。
2)服务注册中心:服务注册中心主要包含服务提供端的服务主动注册,服务调用端订阅的服务信息通知以及服务信息的主动查找,参阅图4。
a)服务提供端在启动服务时会将服务信息提交到服务注册中心,包括服务名称,服务接口,接口请求参数和类型,服务地址信息。
b)服务注册中心收到服务注册请求后将注册服务纳入到心跳监测队列中,保持和服务提供端的联系,一旦服务出现故障,立即更新当前服务注册中心的服务列表,并向所有相关的服务订阅者进行服务信息变更推送。
c)服务调用端会把所有需要调用的服务列表向服务注册中心发送订阅请求,服务注册中心会同步返回请求的服务详细调用信息,同时和调用方维系一条长链接来推送订阅服务的变更,例如订阅服务的接口增加,订阅服务的故障等。
d)服务调用端在实际服务调用时,会从本地服务列表直接查找对应的目标服务信息,如在程序是动态调用,没有事先订阅的,会直接发起新的服务查找请求。在查找结果返回后,更新本地服务列表。
从上述过程可以看出服务注册中心统一管理服务,保障服务信息的准确性和可达性,为后续的服务调度提供重要支撑。
3)服务调用:服务的调用实现是微服务框架的核心,主要包含服务的调用发起,服务调用的缓存处理,服务的同步调用处理和服务的异步回调处理几个重要部分,参阅图5。以下是服务调用的完整过程:
a)服务调用端发起调用后首先会在本地缓存中查找是否存在有效的击中数据,如果命中则直接返回缓存结果,否则继续后续调用处理。本地缓存的作用范围仅限于线程级别,这样可以减少同一线程的多次发起远程申请访问同一服务数据的次数,提升访问效率。
b)服务调用端根据调用服务名称在本地服务列表中查找服务寻址信息,如没有查找到直接向服务注册中心发起查询请求。获取到服务目标地址信息后,先进行协议层数据的转换,包括数据组装和序列化操作,完成后选择对应的传输器发送到目标地址。如调用是异步回调模式,在确认送达后立即返回。
c)服务提供端通过传输器收到请求的数据后,先根据对应的协议进行反序列化和数据解包操作,然后判定此次调用的模式,如果是异步服务回调,会将回调服务的Stub保存在分布式缓存存储中,然后生成代理对象进入服务方法调用。
d)服务提供端根据请求数据找到对应的服务程序,同时根据服务对应的缓存配置来查找缓存数据。缓存配置可根据JXPATH,接口参数或者组合参数索引来命中查找缓存,这样可以根据不同数据访问场景定义缓存命中策略,提高了高频次服务访问效率。
e)如缓存数据没有命中,服务提供端会继续服务内部的逻辑处理,处理完成后,判定调用模式,如果是异步服务回调,会取出当时存储的回调Stub,并请求服务注册中心,查询到有效的服务目标地址。接着根据对应的协议和传输器,执行数据组装,序列化和发送操作。
f)服务调用端收到响应数据后,按照对应协议进行数据解包和反序列化的操作,保存在当前线程级别的缓存存储中,再进行后续处理,调用过程结束。
整个调用过程不仅实现了基本的同步调用,同时结合调用端的线程级本地缓存和服务提供端的分布式缓存机制,提高调用效率。此外异步服务回调的模式支撑,解决了长时间批量处理服务的回调难题,最大程度保障服务的可靠性和稳定性。
4)服务网关代理:服务网关的实现目的是针对外部调用需要采用不同于内部服务调用的传输器,协议的情况,可以平滑转接处理服务调用请求,达成统一服务调通。网关主要由传输器实现,协议实现,协议转换,服务调用四个部分组成,参见图6。以下是网关处理的完整交互流程:
a)远程调用端发起服务调用请求,通过WEB SOCKET传输器发送请求数据到服务网关代理层;
b)服务网关代理层使用WEB SOCKET传输器收到请求数据后,先对请求数据的头信息进行解析,拿到请求的服务信息后,在本地代理服务列表进行映射查找;
c)确定后台服务名称和接口后,将目标服务请求地址传入服务调用端程序,然后开始执行调用,后续的服务调用交互参照服务调用的具体实施描述过程;
d)服务调用端程序返回结果后,服务网关再次根据远程调用端使用的协议组装响应数据和对应的WEB SOCKET传输器发送请求响应。
从上述实现来看,服务网关代理层通过实现一系列适合远端不同渠道请求的传输器和协议转换器,将所有远端的请求进行灵活映射和转接,使得远端服务调用端能够平滑调用后端服务,降低了服务实现和整合复杂度。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (8)
1.一种支持异步模式的分布式微服务框架***,其特征在于,包括服务网关代理层、服务提供端、服务注册中心和服务调用端;
所述服务网关代理层包括协议转换器和传输器,所述协议转换器负责外部请求的数据和内部服务支撑的协议格式数据相互转换,所述传输器负责请求数据和响应数据的传输;
所述服务提供端负责发布服务到服务注册中心,收到服务请求后进行业务处理;
所述服务注册中心负责发布服务登记,服务的查找处理;
所述服务调用端根据指定的服务调用信息通过服务注册中心查找服务目的地,发起远程服务的请求并获取服务响应数据;所述服务调用端包括本地缓存模块,注解模型,Ti-Lnk协议以及RabbitMq传输器;所述本地缓存模块负责服务调用过程中的本地缓存处理,主要实现了线程级别的缓存处理;所述注解模型负责使用主编程语言实现服务注册,服务调用注入,服务参数,缓存配置的注解功能;所述RabbitMq处理器负责RabbitMq消息队列的操作,包括在调用服务时把组装好的协议数据发送到服务提供端的监听队列和服务调用端等待响应和异步回调的监听队列;所述Ti-Lnk协议负责服务请求和响应数据的协议组装和拆包处理;所述本地缓存模块负责服务调用过程中的本地缓存处理,主要实现了线程级别的缓存处理;所述服务调用端在发起远程服务的请求前,会根据调用请求信息先查找本地缓存是否存在命中的缓存数据,如果命中,直接返回缓存数据,否则继续后续的远程服务请求;
所述传输器在接收到远程调用端的请求数据后,通过协议转换器转换成协议格式数据,然后通过服务调用端程序发送组装好的服务请求给服务提供端,服务提供端发布服务到服务注册中心,服务调用端通过服务注册中心查找服务目的地并获取服务响应数据,所述传输器在收到该服务响应数据后再转发给远程调用端。
2.如权利要求1所述的***,其特征在于,所述协议转换器主要包括协议处理器和序列化处理器两部分,负责所有服务请求数据和响应数据的组装、序列化和反序列化,翻译成主编程模型可直接处理的数据;所述协议转换器中的协议处理器、序列化处理器都能自由插拔;所述传输器包括WEB SOCKET传输器和HTTP传输器;所述远程调用端包括IOS远程调用端、Android远程调用端和WEB远程调用端。
3.如权利要求1所述的***,其特征在于,所述服务提供端,包括分布式缓存模块,注解模型,Ti-Lnk协议,回调Stub处理模块以及RabbitMq处理器;所述分布式缓存模块负责根据服务提供接口的参数缓存配置,使用分布式缓存存储中间件,提供数据缓存处理;所述注解模型负责使用主编程语言实现服务注册,服务调用注入,服务参数,缓存配置的注解功能;所述回调Stub处理模块负责存储异步回调服务的描述信息,包括服务名称,使用的协议,服务的接口描述,方法签名,使得服务提供端在异步回调时可以查找到目标服务接收地址;所述RabbitMq处理器负责RabbitMq消息队列的操作,包括在调用服务时把组装好的协议数据发送到服务提供端的监听队列和服务调用端等待响应和异步回调的监听队列;所述Ti-Lnk协议负责服务请求和响应数据的协议组装和拆包处理;
所述服务提供端在业务处理前,服务注册中心会根据配置的缓存服务查找命中的缓存数据,如果命中,则直接返回,否则继续后续业务处理;在服务调用端需要异步服务回调时,将回调Stub信息存储到缓存服务中,当服务请求处理完成后,查找对应的回调信息,并通过服务注册中心查找对应的回调服务目的地,完成回调处理;
所有服务提供端启动后会把需要对外发布的服务登记到服务注册中心,包括服务名称,服务目的地寻址信息,服务可调用的接口名称,服务请求的参数类型和内容,服务的回调信息;当服务调用端需要请求时,会使用服务名称查找对应的寻址信息,再进行远程调用。
4.如权利要求1所述的***,其特征在于,所述内部服务支撑的协议格式为Ti-lnk协议,所述Ti-Lnk协议采用帧式报文结构,每帧主要由报文长度域和报文内容域构成,报文长度域使用BIG_ENDIAN编码,占用4个字节,报文内容域使用JSON报文格式,并且在内容长度超过128k时,进行压缩传输处理。
5.一种如权利要求1-4任一项所述的***的实现方法,其特征在于,包括Ti-Lnk协议的实现,服务注册中心功能实现,服务调用过程实现以及服务网关实现;所述服务调用过程实现包括如下步骤:
a)服务调用端发起调用后首先会在本地缓存中查找是否存在有效的击中数据,如果命中则直接返回缓存结果,否则继续后续调用处理;
b)服务调用端根据调用服务名称在本地服务列表中查找服务寻址信息,如没有查找到直接向服务注册中心发起查询请求,获取到服务目标地址信息后,先进行协议层数据的转换,包括数据组装和序列化操作,完成后选择对应的传输器发送到目标地址,如调用是异步回调模式,在确认送达后立即返回;
c)服务提供端通过传输器收到请求的数据后,先根据对应的协议进行反序列化和数据解包操作,然后判定此次调用的模式,如果是异步服务回调,会将回调服务的Stub保存在分布式缓存存储中,然后生成代理对象进入服务方法调用;
d)服务提供端根据请求数据找到对应的服务程序,同时根据服务对应的缓存配置来查找缓存数据;
e)如缓存数据没有命中,服务提供端会继续服务内部的逻辑处理,处理完成后,判定调用模式,如果是异步服务回调,会取出当时存储的回调Stub,并请求服务注册中心,查询到有效的服务目标地址,接着根据对应的协议和传输器,执行数据组装,序列化和发送操作;
f)服务调用端收到响应数据后,按照对应协议进行数据解包和反序列化的操作,保存在当前线程级别的缓存存储中,再进行后续处理,调用过程结束。
6.如权利要求5所述的方法,其特征在于,所述Ti-Lnk协议的实现包括如下步骤:
a)Ti-Lnk服务请求报文:报文头包括调用服务的标识,调用的服务接口名称,调用的接口参数签名,报文体包括需要调用服务传入的各项参数,每个参数是一帧;
b)Ti-Lnk服务提供端响应报文:报文头包括服务端信息,服务版本,应答类型,服务会话标识信息,报文体内容是服务响应结果。
7.如权利要求5所述的方法,其特征在于,所述服务注册中心功能实现包括如下步骤:
a)服务提供端在启动服务时会将服务信息提交到服务注册中心,包括服务名称,服务接口,接口请求参数和类型,服务地址信息;
b)服务注册中心收到服务注册请求后将注册服务纳入到心跳监测队列中,保持和服务提供端的联系,一旦服务出现故障,立即更新当前服务注册中心的服务列表,并向所有相关的服务订阅者进行服务信息变更推送;
c)服务调用端会把所有需要调用的服务列表向服务注册中心发送订阅请求,服务注册中心会同步返回请求的服务详细调用信息,同时和调用方维系一条长链接来推送订阅服务的变更;
d)服务调用端在实际服务调用时,会从本地服务列表直接查找对应的目标服务信息,如在程序是动态调用,没有事先订阅的,会直接发起新的服务查找请求;在查找结果返回后,更新本地服务列表。
8.如权利要求5所述的方法,其特征在于,所述服务网关实现包括如下步骤:
a)远程调用端发起服务调用请求,通过WEB SOCKET传输器发送请求数据到服务网关代理层;
b)服务网关代理层使用WEB SOCKET传输器收到请求数据后,先对请求数据的头信息进行解析,拿到请求的服务信息后,在本地代理服务列表进行映射查找;
c)确定后台服务名称和接口后,将目标服务请求地址传入服务调用端程序,然后开始执行服务调用;
d)服务调用端程序返回结果后,服务网关再次根据远程调用端使用的协议组装响应数据和对应的WEB SOCKET传输器发送请求响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610865152.7A CN106453288B (zh) | 2016-09-29 | 2016-09-29 | 一种支持异步模式的分布式微服务框架***及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610865152.7A CN106453288B (zh) | 2016-09-29 | 2016-09-29 | 一种支持异步模式的分布式微服务框架***及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453288A CN106453288A (zh) | 2017-02-22 |
CN106453288B true CN106453288B (zh) | 2019-06-04 |
Family
ID=58171142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610865152.7A Active CN106453288B (zh) | 2016-09-29 | 2016-09-29 | 一种支持异步模式的分布式微服务框架***及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453288B (zh) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878427A (zh) * | 2017-02-23 | 2017-06-20 | 北京工业大学 | 一种基于分时信任的微服务调度调度方法以及调度中间件 |
CN106911784B (zh) * | 2017-03-02 | 2020-12-18 | 北京奇鱼时代科技有限公司 | 一种执行异步事件的方法和装置 |
CN108632208A (zh) * | 2017-03-20 | 2018-10-09 | 江苏两融智能制造技术有限公司 | 电气智能制造执行***中基于服务共享的泛类型数据统一访问子*** |
CN107222530A (zh) * | 2017-05-23 | 2017-09-29 | 努比亚技术有限公司 | 服务异步交互方法、设备、***和可读介质 |
CN107239308B (zh) * | 2017-06-05 | 2021-02-26 | 广东西奥物联网科技股份有限公司 | 一种浏览器的调用功能实现方法及*** |
CN107395766B (zh) * | 2017-08-31 | 2020-09-22 | 千寻位置网络(浙江)有限公司 | 基于HazelCast的去中心化通信***及实现方法 |
CN107634948A (zh) * | 2017-09-19 | 2018-01-26 | 金在(北京)金融信息服务有限公司 | 数据交换方法和*** |
CN109831466B (zh) * | 2017-11-23 | 2021-09-07 | 深圳市金证科技股份有限公司 | 微服务业务处理方法及nginx服务器 |
CN109842637B (zh) * | 2017-11-24 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种分布式服务注册方法及装置 |
CN107948284B (zh) * | 2017-11-24 | 2021-04-16 | 泰康保险集团股份有限公司 | 一种基于微服务架构的服务下线方法、设备和*** |
CN109862051A (zh) * | 2017-11-30 | 2019-06-07 | 亿阳信通股份有限公司 | 一种微服务架构下多租户的实现方法及*** |
CN109981716B (zh) * | 2017-12-28 | 2023-11-03 | 北京奇虎科技有限公司 | 一种微服务调用方法及装置 |
CN108259595A (zh) * | 2018-01-11 | 2018-07-06 | 北京值得买科技股份有限公司 | 一种服务间异步调用的方法及*** |
CN108512748A (zh) * | 2018-03-21 | 2018-09-07 | 上海艾融软件股份有限公司 | 一种微服务网关的实现方法 |
CN108762947A (zh) * | 2018-05-16 | 2018-11-06 | 武汉微创光电股份有限公司 | 一种分布式***远程调用方法、装置及*** |
CN115426391A (zh) * | 2018-05-31 | 2022-12-02 | 华为技术有限公司 | 一种远程过程调用协议自适应方法、相关装置及服务器 |
CN109194604A (zh) * | 2018-06-05 | 2019-01-11 | 平安科技(深圳)有限公司 | 接口自动化方法、***、计算机设备和存储介质 |
CN108984316A (zh) * | 2018-06-15 | 2018-12-11 | 广州视源电子科技股份有限公司 | 一种用于分布式数据处理的方法、装置、电子设备及计算机存储介质 |
CN110661827B (zh) * | 2018-06-28 | 2021-10-08 | 中兴通讯股份有限公司 | 弹性伸缩方法、装置、设备以及计算机可读存储介质 |
CN108874567B (zh) * | 2018-07-19 | 2021-08-17 | 广州市创乐信息技术有限公司 | 一种服务处理方法及*** |
CN109040094A (zh) * | 2018-08-21 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种基于RabbitMQ实现异步RPC的方法及*** |
CN109257337B (zh) * | 2018-08-28 | 2021-09-07 | 科大国创软件股份有限公司 | 物联网设备协议转换方法及基于该方法的灯杆运营平台 |
CN109284089B (zh) * | 2018-08-30 | 2022-04-05 | 上海艾融软件股份有限公司 | 一种基于微服务技术的电商平台的实现***及方法 |
CN109274731B (zh) * | 2018-09-04 | 2020-07-31 | 京东数字科技控股有限公司 | 基于多租户技术的web服务的部署、调用方法和装置 |
CN110874232B (zh) * | 2018-09-04 | 2023-12-29 | 中兴通讯股份有限公司 | 虚拟机组件升级方法、设备和计算机可读存储介质 |
CN109634738A (zh) * | 2018-10-19 | 2019-04-16 | 深圳平安财富宝投资咨询有限公司 | 基于微服务的异步处理方法、服务器、存储介质及装置 |
CN109451014B (zh) * | 2018-11-02 | 2021-02-05 | 科大国创软件股份有限公司 | 一种WebService代理***及其透明代理方法 |
CN111147534B (zh) * | 2018-11-05 | 2022-12-16 | 中兴通讯股份有限公司 | 一种微服务架构下的通信方法及*** |
CN109460228A (zh) * | 2018-11-05 | 2019-03-12 | 用友网络科技股份有限公司 | 一种支撑分布式服务模型动态扩展的方法及*** |
CN109639636B (zh) * | 2018-11-06 | 2021-04-02 | 创新先进技术有限公司 | 业务数据转发、业务数据处理方法、装置及电子设备 |
CN109246251B (zh) * | 2018-11-13 | 2021-01-22 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、***、设备及可读存储介质 |
CN109726021A (zh) * | 2018-11-29 | 2019-05-07 | 国云科技股份有限公司 | 一种微服务接口定义类自发现的实现方法 |
CN109729149A (zh) * | 2018-12-03 | 2019-05-07 | 国云科技股份有限公司 | 一种基于注解的微服务框架实现方法 |
CN109714319A (zh) * | 2018-12-06 | 2019-05-03 | 深圳市中农网有限公司 | 微服务的管理***、方法、装置、计算机设备及存储介质 |
CN109710223B (zh) * | 2018-12-29 | 2021-03-12 | 北京邮电大学 | 基于分布式kv存储***的api网关热插拔*** |
CN109873863B (zh) * | 2019-01-18 | 2021-10-15 | 北京百度网讯科技有限公司 | 服务的异步调用方法和装置 |
CN109862095A (zh) * | 2019-01-30 | 2019-06-07 | 新华三大数据技术有限公司 | 基于Web服务的数据处理方法及装置 |
CN109714098B (zh) * | 2019-01-31 | 2021-02-09 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 遥感卫星地面站分布式监控管理方法 |
CN109951528B (zh) * | 2019-02-21 | 2022-04-15 | 中国工商银行股份有限公司 | 支持多部署模式的业务处理方法、装置及*** |
CN109922148B (zh) * | 2019-03-04 | 2022-02-25 | 网易(杭州)网络有限公司 | 跨平台服务方法、装置和*** |
CN109922158A (zh) * | 2019-03-22 | 2019-06-21 | 泰康保险集团股份有限公司 | 基于微服务的数据处理方法、装置、介质及电子设备 |
CN110134086B (zh) * | 2019-05-17 | 2021-10-08 | 温州大学 | 一种数字化车间实现中间件功能的数据采集及控制装置 |
CN110365786B (zh) * | 2019-07-19 | 2022-03-22 | 中国工商银行股份有限公司 | 作业处理***、异步作业调度方法和计算机设备 |
CN110443512A (zh) * | 2019-08-09 | 2019-11-12 | 北京思维造物信息科技股份有限公司 | 一种规则引擎及规则引擎实现方法 |
CN110780979B (zh) * | 2019-10-28 | 2021-01-26 | 北京海益同展信息科技有限公司 | 微服务框架下配置的控制方法及装置、介质和电子设备 |
CN110990047B (zh) * | 2019-11-06 | 2021-11-19 | 北京云思畅想科技有限公司 | 用于多个微服务架构的融合方法及装置 |
CN111083199A (zh) * | 2019-11-23 | 2020-04-28 | 上海畅星软件有限公司 | 基于高并发、高可用性、服务可扩展的平台处理架构 |
CN112910943B (zh) * | 2019-12-04 | 2024-03-05 | 华为云计算技术有限公司 | 一种服务提供方法、装置及*** |
CN111131425B (zh) * | 2019-12-18 | 2022-08-30 | 东软集团股份有限公司 | 分布式***以及分布式***的通信方法 |
CN111010265B (zh) * | 2019-12-21 | 2023-04-18 | 上海中和软件有限公司 | 基于分层密钥和bls数字签名的区块链组织密钥管理方法 |
CN111049854B (zh) * | 2019-12-25 | 2021-12-14 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN111142910B (zh) * | 2019-12-27 | 2022-04-08 | 郑州信大捷安信息技术股份有限公司 | 一种面向多界面的资源调配处理方法及*** |
CN111381985B (zh) * | 2020-03-09 | 2023-09-19 | 中国建设银行股份有限公司 | 一种异构***数据调用方法、装置、设备及存储介质 |
CN113395310A (zh) * | 2020-03-12 | 2021-09-14 | 华为技术有限公司 | 一种微服务调用方法、装置、设备及介质 |
CN111787494B (zh) * | 2020-05-06 | 2022-04-08 | 浙江工业大学 | 一种基于微服务的短信发送可靠方法 |
CN112214334A (zh) * | 2020-09-28 | 2021-01-12 | 亚信科技(中国)有限公司 | 微服务调用方法、装置、电子设备及计算机可读存储介质 |
CN112380035A (zh) * | 2020-11-18 | 2021-02-19 | 山东高速信息集团有限公司 | 一种智慧园区中台统一服务接口的实现方法及*** |
CN112506709B (zh) * | 2020-12-16 | 2021-11-23 | 北京航天智造科技发展有限公司 | 微服务治理方法及装置 |
CN112508768B (zh) * | 2020-12-22 | 2022-05-27 | 北京百度网讯科技有限公司 | 单算子多模型流水线推理方法、***、电子设备及介质 |
CN112804249B (zh) * | 2021-01-28 | 2023-06-23 | 中汽创智科技有限公司 | 远程调用自动驾驶平台的数据通信方法及*** |
CN113159858A (zh) * | 2021-05-06 | 2021-07-23 | 山东白令三维科技有限公司 | 3d打印报价***、方法、装置及存储介质 |
CN113037875B (zh) * | 2021-05-24 | 2021-07-27 | 武汉众邦银行股份有限公司 | 一种分布式实时业务***中的异步网关的实现方法 |
CN113420419B (zh) * | 2021-05-28 | 2022-04-01 | 浙江大学 | 一种微服务场景下的业务流程模型分析方法 |
CN113342349A (zh) * | 2021-05-28 | 2021-09-03 | 中国工商银行股份有限公司 | 一种无存根的微服务调用方法及装置 |
CN113676483B (zh) * | 2021-08-26 | 2023-04-07 | 中国联合网络通信集团有限公司 | 多区块链的接入管理方法及其***、能力开放装置 |
CN114513548B (zh) * | 2022-01-27 | 2024-05-10 | 中信百信银行股份有限公司 | 定向调用信息处理方法及装置 |
CN114826866B (zh) * | 2022-03-31 | 2022-11-15 | 北京翼辉信息技术有限公司 | 跨平台微服务体系结构、计算设备及存储介质 |
CN115134141B (zh) * | 2022-06-27 | 2023-10-03 | 贵州数联铭品科技有限公司 | 一种微服务容器集群跨网络通信***及其通信方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101115062A (zh) * | 2007-08-23 | 2008-01-30 | 华为技术有限公司 | 分布式智能代理***、注册中心及注册、消息路由方法 |
CN101593198A (zh) * | 2009-06-26 | 2009-12-02 | 沈阳工业大学 | 基于网格的就业信息检索方法 |
CN102262560A (zh) * | 2010-05-27 | 2011-11-30 | 阿里巴巴集团控股有限公司 | 一种远程服务的调用方法、装置及*** |
CN105376225A (zh) * | 2015-11-02 | 2016-03-02 | 亚信科技(南京)有限公司 | 一种软件服务化的方法及装置 |
CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及*** |
CN105577780A (zh) * | 2015-12-21 | 2016-05-11 | 武汉理工大学 | 一种基于微服务的高校教学云平台 |
CN105721473A (zh) * | 2016-02-24 | 2016-06-29 | 锐达互动科技股份有限公司 | 一种web端远程调用优化的方法及*** |
CN105933444A (zh) * | 2016-06-27 | 2016-09-07 | 焦点科技股份有限公司 | 基于注册中心和缓存机制协同的服务发现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103308A1 (en) * | 2002-11-25 | 2004-05-27 | Gabor Paller | Self-configuring protocol gateway |
-
2016
- 2016-09-29 CN CN201610865152.7A patent/CN106453288B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101115062A (zh) * | 2007-08-23 | 2008-01-30 | 华为技术有限公司 | 分布式智能代理***、注册中心及注册、消息路由方法 |
CN101593198A (zh) * | 2009-06-26 | 2009-12-02 | 沈阳工业大学 | 基于网格的就业信息检索方法 |
CN102262560A (zh) * | 2010-05-27 | 2011-11-30 | 阿里巴巴集团控股有限公司 | 一种远程服务的调用方法、装置及*** |
CN105376225A (zh) * | 2015-11-02 | 2016-03-02 | 亚信科技(南京)有限公司 | 一种软件服务化的方法及装置 |
CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及*** |
CN105577780A (zh) * | 2015-12-21 | 2016-05-11 | 武汉理工大学 | 一种基于微服务的高校教学云平台 |
CN105721473A (zh) * | 2016-02-24 | 2016-06-29 | 锐达互动科技股份有限公司 | 一种web端远程调用优化的方法及*** |
CN105933444A (zh) * | 2016-06-27 | 2016-09-07 | 焦点科技股份有限公司 | 基于注册中心和缓存机制协同的服务发现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106453288A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453288B (zh) | 一种支持异步模式的分布式微服务框架***及其实现方法 | |
CN105721473B (zh) | 一种web端远程调用优化的方法及*** | |
CN102148817B (zh) | 配置网络设备的方法、客户端、服务器端及网络*** | |
US11929873B1 (en) | OPC UA-based centralized user configuration method and system for time-sensitive network | |
CN105763619B (zh) | 客户端与服务端进行通讯的方法及装置 | |
CN111212085B (zh) | 物联网平台同步调用的方法、物联网***和网络设备 | |
CN110413418B (zh) | 缓存同步装置及方法,缓存同步***、电子设备 | |
CN101902473B (zh) | 基于网格gis的数据同步更新实现方法 | |
CN112711635B (zh) | 一种分布式物联设备跨区域数据一致性的方法和服务集群 | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
CN101616132A (zh) | 一种数据获取方法及其装置和*** | |
US9948500B2 (en) | Method and apparatus of performing simultaneous multi-agent access for command execution through a single client | |
CN103546532B (zh) | 一种应用共享数据的方法及*** | |
WO2018176244A1 (zh) | 数据采集方法、装置和动环网管*** | |
CN104468299A (zh) | 基于用户规则的企业服务总线*** | |
CN103780681A (zh) | 一种高实时性Web应用***及其数据实时推送方法 | |
CN113630366A (zh) | 一种物联网设备接入方法及*** | |
CN112600881A (zh) | 提供物联网服务的方法、设备、服务器及存储介质 | |
CN109040094A (zh) | 一种基于RabbitMQ实现异步RPC的方法及*** | |
CN109189748A (zh) | 一种缓存一致性处理方法及nfs服务器 | |
CN101321123A (zh) | 嵌入式传输动态数据的***及其传输方法 | |
CN102420827A (zh) | 面向智能移动平台的Web服务推送方法 | |
US20070130312A1 (en) | Web service provision apparatus and method and web service request apparatus and method | |
WO2016110070A1 (zh) | 数据获取方法及装置、存储介质 | |
CN101626310A (zh) | 集群环境中的服务信息传输方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Cen Puzhou Inventor after: Xiao Qi Inventor after: Bao Haiwei Inventor before: Cen Puzhou Inventor before: Xiao Qi |
|
CB03 | Change of inventor or designer information |