一种基于GRPC框架的服务请求处理方法及系统技术方案

技术编号:33303769 阅读:11 留言:0更新日期:2022-05-06 12:12
本申请实施例公开了一种基于GRPC框架的服务请求处理方法及系统。本申请实施例提供的技术方案,通过注入预定义的编解码器,编解码器用于基于GRPC框架的协议数据与上级节点和下级节点通信,进行服务请求的透明传输;基于编解码器接收上级节点的服务请求,确定服务请求中包含的URL地址,根据URL地址确定目标下级节点;基于编解码器将服务请求转发至目标下级节点。采用上述技术手段,通过在GRPC框架中注入预定义的编解码器以替换GRPC框架本身的编解码器,以确保GRPC框架可以正常接收处理服务请求,并将服务请求转发至目标下级节点。以此可以降低GRPC框架中服务网关的服务请求处理难度,优化服务请求处理效率,优化网络流量管理。理。理。

【技术实现步骤摘要】
一种基于GRPC框架的服务请求处理方法及系统


[0001]本申请实施例涉及网络
,尤其涉及一种基于GRPC框架的服务请求处理方法及系统。

技术介绍

[0002]目前,在分布式后端服务网络架构中,会设置一个统一的服务网关,以处理网络服务请求,起到权限校验、服务限流、流量分发等作用。服务网关一般采用nginx(开源的高性能web服务器)作为网关入口。为了实现消息路由的自动化,会在nginx中嵌入一段代码以实现服务网关的相关业务逻辑。
[0003]但是,在GRPC处理框架(谷歌开源的高性能、跨平台、多语言的远程过程调用服务处理框架)下,由于嵌入的代码不是基于GRPC处理框架开发的,服务网关没有提供相应的代码以嵌入实现服务网关的相关业务逻辑。基于GRPC处理框架下服务网关需要维护两套代码,基于此服务网关处理网络服务请求,其对服务请求处理的实现难度较大,同时也不利于服务网关的维护和升级,增加服务网关的服务成本。

技术实现思路

[0004]本申请实施例提供一种基于GRPC框架的服务请求处理方法及系统,能够降低GRPC框架中服务网关的服务请求处理难度,解决现有基于GRPC框架的服务网关服务请求处理难度大技术问题。
[0005]在第一方面,本申请实施例提供了一种基于GRPC框架的服务请求处理方法,包括:
[0006]注入预定义的编解码器,编解码器用于基于GRPC框架的协议数据与上级节点和下级节点通信,进行服务请求的透明传输;
[0007]基于编解码器接收上级节点的服务请求,确定服务请求中包含的URL地址,根据URL地址确定目标下级节点;
[0008]基于编解码器将服务请求转发至目标下级节点。
[0009]在第二方面,本申请实施例提供了一种基于GRPC框架的服务请求处理系统,包括:
[0010]注入模块,用于注入预定义的编解码器,编解码器用于基于GRPC框架的协议数据与上级节点和下级节点通信,进行服务请求的透明传输;
[0011]解码模块,用于基于编解码器接收上级节点的服务请求,确定服务请求中包含的URL地址,根据URL地址确定目标下级节点;
[0012]转发模块,用于基于编解码器将服务请求转发至目标下级节点。
[0013]在第三方面,本申请实施例提供了一种电子设备,包括:
[0014]存储器以及一个或多个处理器;
[0015]所述存储器,用于存储一个或多个程序;
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于GRPC框架的服务请求处理方法。
[0017]在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于GRPC框架的服务请求处理方法。
[0018]本申请实施例通过注入预定义的编解码器,编解码器用于基于GRPC框架的协议数据与上级节点和下级节点通信,进行服务请求的透明传输;基于编解码器接收上级节点的服务请求,确定服务请求中包含的URL地址,根据URL地址确定目标下级节点;基于编解码器将服务请求转发至目标下级节点。采用上述技术手段,通过在GRPC框架中注入预定义的编解码器以替换GRPC框架本身的编解码器,以确保GRPC框架可以正常接收处理服务请求,并将服务请求转发至目标下级节点。以此可以降低GRPC框架中服务网关的服务请求处理难度,优化服务请求处理效率,优化网络流量管理效果。
附图说明
[0019]图1是本申请实施例提供的一种基于GRPC框架的服务请求处理方法的流程图;
[0020]图2是本申请实施例中服务网关的服务请求处理流程图;
[0021]图3是本申请实施例中服务网关的数据转发示意图;
[0022]图4是本申请实施例提供的一种基于GRPC框架的服务请求处理装置的结构示意图;
[0023]图5是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0024]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0025]本申请提供的一种基于GRPC框架的服务请求处理方法,旨在通过在GRPC框架中注入预定义的编解码器以替换GRPC框架本身的协议数据交换格式工具库,以确保GRPC框架可以正常接收处理服务请求,并将服务请求转发至目标下级节点。以此来实现基于GRPC框架的服务网关对服务请求的无感知处理,无需繁杂的代码设置,提升服务请求的处理效率,并降低服务请求的处理难度。相对于传统的分布式后端网络服务架构,其在网络服务架构中需要设置一个统一的服务网关,以起到权限校验、服务限流、流量分发等作用。目前的做法是采用nginx(开源的高性能web服务器)作为网关入口,由于nginx对于下游服务的路由只能做手动配置,没法做到自动化数据转发。且对下游服务的存活状态等也没法实时感知,以此会增加运维的复杂性,增大网络服务的难度。另一种方式则是在nginx中嵌入一段代码以实现服务网关的相关业务逻辑。但这样服务网关就跟nginx耦合在一起,不利益维护和升级。因此在网络服务架构上业务强相关的服务网关一般是独立成一个模块,脱离于nginx,
达到解耦的目的。但是在GRPC架构(谷歌开源的高性能、跨平台、多语言的远程过程调用服务处理框架)中,由于嵌入的代码不是基于GRPC处理框架开发的,服务网关没有提供相应的代码以嵌入实现服务网关的相关业务逻辑。即使有相关代码,如果以GRPC框架为技术栈的技术团队不是基于该代码开发的,服务网关还是需要维护两套代码,基于此服务网关处理网络服务请求,其对服务请求处理的实现难度较大,同时也不利于服务网关的维护和升级,增加服务网关的服务成本。基于此,提供本申请实施例的一种基于GRPC框架的服务请求处理方法,以解决现有基于GRPC框架的服务网关服务请求处理难度大技术问题。
[0026]实施例:
[0027]图1给出了本申请实施例提供的一种基于GRPC框架的服务请求处理方法的流程图,本实施例中提供的基于GRPC框架的服务请求处理方法可以由基于GRPC框架的服务请求处理设备执行,该基于GRPC框架的服务请求处理设备可以通过软件和/或硬件的方式实现,该基于GRPC框架的服务请求处理设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于GRPC框架的服务请求处理方法,其特征在于,包括:注入预定义的编解码器,所述编解码器用于基于GRPC框架的协议数据与上级节点和下级节点通信,进行服务请求的透明传输;基于所述编解码器接收所述上级节点的服务请求,确定所述服务请求中包含的URL地址,根据所述URL地址确定目标下级节点;基于所述编解码器将所述服务请求转发至所述目标下级节点。2.根据权利要求1所述的基于GRPC框架的服务请求处理方法,其特征在于,所述注入预定义的编解码器,包括:通过所述GRPC框架预先构建的协议注入接口注入预定义的编解码器。3.根据权利要求1所述的基于GRPC框架的服务请求处理方法,其特征在于,所述确定所述服务请求中包含的URL地址,包括:基于所述编解码器解码所述服务请求,获取所述服务请求包含的URL地址,并基于所述GRPC框架预构建的流处理器处理所述URL地址。4.根据权利要求1所述的基于GRPC框架的服务请求处理方法,其特征在于,所述根据所述URL地址确定目标下级节点包括:基于所述URL地址查询预构建的映射关系,根据查询到的所述映射关系确定对应的目标下级节点,所述映射关系预先根据所述URL地址与对应的下级节点构建。5.根据权利要求1所述的基于GRPC框架的服务请求处理方法,其特征在于,所述基于所述编解码器将所述服务请求转发至所述目标下级节点,还包括:运行预先构建的第一协程,通过所述第一协程将所述服务请求转发至所述目标下级节点,所述第一协程用于向对应下级节点转发数据。6.根据权利要求5所述的...

【专利技术属性】
技术研发人员:詹龙波
申请(专利权)人:有半岛北京信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1