- HTTP(FullHttpRequest对象)转换成我们内部的HTTP对象(自己定义的请求对象:RapidRequest)
- 对 HTTP 请求进行校验(合法性、正确性)
- 执行各种插件化逻辑:在基础的流程之上我们要做各种功能化的组件
- 不是所有的请求都要执行下面这些插件:/login(登录进行认证和授权)
- 要针对不同的请求,执行不同的插件化逻辑– (/pathA:3 ,4,5, 8)(/pathB:1 ,4,5, 8)
- 规则的概念:Rule,规则和路径是一个多对一的关系
- Filter
- 认证授权插件: Auth
- 流控插件:FlowCtl
- 黑白名单插件: WB
- 负载均衡插件: LB
- 协议解析插件: ProtocolR
- 转发插件:Dispatcher
- 超时插件:Timeout
- 后置插件,统计分析插件:总的访问次数,成功(下游服务能够显示捕获异常并返回的)、失败(网关服务自身出现exception,超时、连接断开)
- Filter
- 网关服务器
- 客户端角色:spring、dubbo、tcp、thrift、grpc
- 注册中心:注册客户端数据,网关服务启动时从服务端拉取注册的信息
- 控制台端:
- 监控客户端服务的状态,实例的上下线
- 监控网关服务自身的信息:网关自身实例(服务本身的负载情况),总请求数、成功率失败率
- 配置化:各种各样的规则,插件的动态配置