
技术摘要:
本发明公开了一种网络请求处理方法,适于在计算设备中执行,计算设备适于与客户端连接,该方法包括步骤:接收客户端发送的网络请求;判断该网络请求是否是聚合请求,若是,获取与该网络请求对应的至少两个微服务名,并将此网络请求转发给微服务名对应的至少两个微服务 全部
背景技术:
随着业务的不断发展,和服务端微服务化的进程,客户端与服务端的交互在急剧 增长,交互简单说即网络接口的通信。这种增长很明显的体现在客户端调用服务端接口的 数量上。并且处于不同微服务中的功能接口往往域名、接口地址、接口名等都不尽相同,很 难统一。因此出现了通过网关统一提供各微服务的入口的技术,但是并没有对不同微服务 功能进行彻底的整合,当客户端同时需要多个微服务的返回数据时,客户端仍然需要分别 通过网关向这多个微服务并发多次请求,浪费了大量资源,而且各客户端的终端设备性能 存在差异,终端设备性能不好时,用户的体验不佳。 现有技术中,解决这种问题的方式是将多个微服务的功能进行耦合,然而这种方 案需要通过硬编码来实现,不仅增加工程师的工作量,当需要聚合的功能有所改变时,只能 更换硬件或者重新编码,增加了业务系统的复杂度。
技术实现要素:
为此,本发明提供了一种网络请求处理方法、计算设备及存储介质,以力图解决或 者至少缓解上面存在的至少一个问题。 根据本发明的一个方面,提供了一种网络请求处理方法,适于在计算设备中执行, 计算设备适于与客户端连接,该方法包括步骤:接收客户端发送的网络请求;判断该网络请 求是否是聚合请求,若是,获取与网络请求对应的至少两个微服务名;将网络请求转发给所 述至少两个微服务名分别对应的微服务;获取至少两个微服务的返回结果中的目标数据, 将目标数据进行合并,并发送给客户端。 可选地,在根据本发明的网络请求处理方法中,获取与网络请求对应的至少两个 微服务名包括步骤:读取聚合请求的路由信息,根据此路由信息获取与聚合请求对应的至 少两个微服务名,路由信息包含聚合请求和微服务名的映射关系。 可选地,在根据本发明的网络请求处理方法,将网络请求转发给至少两个微服务 名分别对应的微服务,包括步骤:获取每个微服务名对应的地址信息,根据地址信息,将网 络请求转发给与注册中心服务列表中的微服务名对应的微服务。 可选地,在根据本发明的网络请求处理方法中,根据地址信息,将网络请求转发给 与注册中心服务列表中的微服务名对应的微服务,包括步骤:判断所述网络请求时是否只 能读取一次,若是,将所述网络请求封装为可多次读取的字节信息。 可选地,在根据本发明的网络请求处理方法中,获取至少两个微服务的返回结果 中的目标数据,包括步骤:在获取所有请求返回结果之前进行等待,当超过时间阈值时将目 前已返回的目标数据进行合并。 4 CN 111586097 A 说 明 书 2/10 页 可选地,在根据本发明的网络请求处理方法中,时间阈值为500ms。 可选地,在根据本发明的网络请求处理方法中,获取网络请求对应的至少两个微 服务之前,包括步骤:创建所述网络请求和各微服务名之间的映射关系。 可选地,在根据本发明的网络请求处理方法中,当映射关系需要进行修改时,对应 修改网络请求的路由信息。 可选地,在根据本发明的网络请求处理方法中,若网络请求不是聚合请求,则读取 网络请求的路由信息;根据路由信息将网络请求转发至注册中心服务列表中的单个微服 务;根据网络请求获取微服务的返回结果中的目标数据,将目标数据发送给客户端。 可选地,在根据本发明的网络请求处理方法中,通过心跳机制实时监控注册中心 服务列表中的每一个微服务的健康状态;若未检测到服务列表中的微服务的心跳,则发送 报警信息,其中,报警信息包括微服务的微服务名。 根据本发明的另一个方面,提供了一种网络请求处理系统,包括:客户端,适于发 出网络请求;网关,适于接收来自客户端的网络请求,并获取与网络请求对应的微服务名, 将网络请求转发给微服务名对应的微服务,获取微服务的返回结果中的目标数据,将目标 数据进行合并,并发送给客户端;注册中心,包含服务列表,服务列表包含来自相同或不同 服务器注册的微服务名,以及每个微服务名对应的微服务地址信息,网关根据此地址信息, 将网络请求转发给微服务名对应的微服务;配置中心,适于配置网络请求的路由信息,网关 根据此路由信息获取注册中心服务列表中的微服务名;服务器,包含与网络请求对应的微 服务 可选地,在根据本发明的网络请求处理系统中,网关进一步适于,判断所述网络请 求是否是聚合请求,若是,则获取网络请求对应的至少两个微服务。 根据本发明的又一个方面,提供了一种计算设备,包括至少一个处理器;以及存储 器,存储有程序指令,其中程序指令被配置为适于由至少一个处理器执行,程序指令包括用 于执行根据本发明的网络请求处理方法的指令。 根据本发明的又一个方面,提供了一种存储有程序指令的可读存储介质,当该程 序指令被计算设备读取并执行时,使得计算设备执行本发明的网络请求处理方法。 根据本发明的技术方案,当同时需要多个微服务的返回数据时,只需要发送一个 网络请求,根据网络请求的路由信息获取与网络请求对应的多个微服务名,将网络请求转 发给微服务名对应的多个微服务,则可获取到这些微服务的返回结果中的目标数据,将目 标数据进行合并返回给客户端,避免了因客户端终端设备的性能问题而影响用户的体验。 在减少客户端请求资源的同时也大大的减轻了客户端的复杂度,使得客户端开发起来更为 简洁。 其中,路由信息包含聚合请求和微服务名的映射关系,映射关系需要进行修改时, 对应修改网络请求的路由信息,即可改变需要聚合的功能。进一步地,利用配置中心配置网 络请求的路由信息,当路由信息修改时网关只需要重读配置,实现动态路由,不需要中断重 启系统。 附图说明 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方 5 CN 111586097 A 说 明 书 3/10 页 面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面 旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述 以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的 部件或元素。 图1示出了根据本发明的一个实施例的网络请求处理系统100的示意图; 图2示出了根据本发明的一个实施例的计算设备200的示意图; 图3示出了根据本发明的一个实施例的网络请求处理方法300的流程图; 图4示出了根据本发明的一个实施例的网络请求处理模块400的示意图。