应用于边缘计算平台的制造技术

技术编号:39571871 阅读:9 留言:0更新日期:2023-12-03 19:23
本发明专利技术公开了一种应用于边缘计算平台的

【技术实现步骤摘要】
应用于边缘计算平台的API请求处理方法及API网关


[0001]本专利技术涉及计算机网络
,尤其涉及一种应用于边缘计算平台的
API
请求处理方法及
API
网关


技术介绍

[0002]API
网关的核心功能有服务注册

请求接入

负载均衡

请求过滤

路由

鉴权

缓存等

网关作为流量入口,是整个微服务系统的关键所在,应该保证它的高性能,高可用

现有开源
API
网关有的基于传统的阻塞
I/O
无法达到高性能的需求,并且不能充分和云平台结合发挥云平台特性

外部请求进入
API
网关后首先由请求接入功能负责处理

请求接入
API
网关核心功能,它包含以下子功能:请求路由,将请求按照配置好的路由信息转发到指定微服务,当后端微服务的
API
路径发生变化时,只需要改变
API
网关的路由配置,就可以将请求路由到新的
API
路径,不需要更改客户调用,减少大量人力工作

鉴权认证,将微服务的请求授权集中到
API
网关做统一处理,这样就可以让微服务可以专注于自己的业务逻辑,减少与业务无关的重复代码

缓存功能,能够对某些请求进行缓存配置,减少对后端服务的调用,增加整个系统的性能,减少客户端请求延迟

请求聚合,由于前后端分离过后,后端不会关注前端的
UI
操作逻辑,前端自行组合调用
API
以实现各种
UI
逻辑

这样前后端没有了耦合,但是也会造成前端的请求数量剧增,一个页面可能需要同时发送数十个请求才能得到所有想要的数据

这降低了网络效率,增加了前后端的压力

因此需要有请求聚合的功能来将多个请求聚合为一个请求

[0003]传统的网关配置
API
请求是采用请求应答的方式,即在
API
网关上启用一个
HTTP Server
服务,所有的
API
请求都是在这个服务中完成,如果服务中某个
API
请求一旦被阻塞,后续的
API
请求都无法被响应,需要等到上一个
API
请求完成才能继续响应下一个请求

[0004]如图1所示的一种现有技术中的适用于小型物联网边缘设备的常见的
HTTP
服务软件结构

这类设备通常会采用一种高度集成和耦合的
HTTP
服务器

其工作原理大致如下:
1.
服务器接到
API
请求,进行鉴权处理

鉴权成功则进入下一步,否则结束
。2.
查找
API
请求对应的脚本,调用脚本执行后台动作
。3.
将脚本返回的内容返回给
Web UI。
这类技术的优点是
HTTP
服务器高度集成,对计算资源的占用较小

缺点是每个需要与前端
UI
交互的后台子服务,都需要将特定的操作逻辑写成脚本,放在
HTTP
服务器中

耦合度太高,不利于开发和维护

[0005]由此可见现有技术中需要一种能够现实对
API
请求并发进行实施有效处理的方法

能够实现同时应对针对不同服务的
API
请求进行同时处理


技术实现思路

[0006]本专利技术所要解决的技术问题之一是提供一种应用于边缘计算平台的
API
请求处理方法,所述方法包括:
[0007]HTTP
服务器接收
API
请求;
[0008]API
请求首先输入
HTTP
服务器的
Nginx
服务器,由
Nginx
服务器对
API
请求的路径进行检测,当
API
请求的路径满足特定的预设格式时,由
Nginx
服务器对
API
请求进行反向代理,并将
API
请求输入
API
网关服务层;
[0009]API
网关服务层收到由
Nginx
服务器代理的
API
请求后,对
API
请求进行访问权限认证,权限认证通过后
API
网关服务层将
API
请求信息映射为
MQTT
消息,并将
MQTT
消息发送至发布到后台消息总线服务层;
[0010]后台消息总线服务层根据后台子服务的订阅申请,路由分发上一层发布的基于
MQTT
协议的
API
请求消息;
[0011]所述后台子服务层中包括有
MQTT
代理服务器及用于响应不同
API
请求的子服务程序;所述后台子服务层在接收到映射为
MQTT
消息的
API
请求后,处理执行相应的请求动作,并将执行结果以响应消息的方式发布到后台消息总线服务层中;
[0012]后台消息总线服务层会将
API
响应消息路由给
API
网关服务,再将
API
请求响应传送至
Nginx
服务器;
[0013]由
Nginx
服务器输出
API
请求响应

[0014]在一个实施例中,所述预设格式为以特殊字段开头的
URL。
[0015]在一个实施例中,所映射
MQTT
消息的负载为
API
请求的负载

[0016]在一个实施例中,
API
网关服务层将
MQTT
消息中的
API
请求会话和
req_id
一起放在计时链表中,并启动超时定时器;若预定时间内没收到响应,则判定该
API
请求会话为响应超时;并将超时信息作为响应信息传送至
Nginx
服务器

[0017]在一个实施例中,当子服务程序订阅到响应的
MQTT
消息后,解析出
MQTT
消息中的超时参数并验本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种应用于边缘计算平台的
API
请求处理方法,其特征在于,所述方法包括:
HTTP
服务器接收
API
请求;
API
请求首先输入
HTTP
服务器的
Nginx
服务器,由
Nginx
服务器对
API
请求的路径进行检测,当
API
请求的路径满足特定的预设格式时,由
Nginx
服务器对
API
请求进行反向代理,并将
API
请求输入
API
网关服务层;
API
网关服务层收到由
Nginx
服务器代理的
API
请求后,对
API
请求进行访问权限认证,权限认证通过后
API
网关服务层将
API
请求信息映射为
MQTT
消息,并将
MQTT
消息发送至发布到后台消息总线服务层;后台消息总线服务层根据后台子服务的订阅申请,路由分发上一层发布的基于
MQTT
协议的
API
请求消息;所述后台子服务层中包括有
MQTT
代理服务器及用于响应不同
API
请求的子服务程序;所述后台子服务层在接收到映射为
MQTT
消息的
API
请求后,处理执行相应的请...

【专利技术属性】
技术研发人员:郑毅彬李川江
申请(专利权)人:北京映翰通网络技术股份有限公司
类型:发明
国别省市:

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

1