Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 1.55 KB

2-功能点分析.md

File metadata and controls

32 lines (25 loc) · 1.55 KB

1. 业务功能点梳理

一次 HTTP 请求过来,我们要实现哪些功能

  • HTTP(FullHttpRequest对象)转换成我们内部的HTTP对象(自己定义的请求对象:RapidRequest)
  • 对 HTTP 请求进行校验(合法性、正确性)
  • 执行各种插件化逻辑:在基础的流程之上我们要做各种功能化的组件
  • 不是所有的请求都要执行下面这些插件:/login(登录进行认证和授权)
  • 要针对不同的请求,执行不同的插件化逻辑– (/pathA:3 ,4,5, 8)(/pathB:1 ,4,5, 8)
  • 规则的概念:Rule,规则和路径是一个多对一的关系
    • Filter
      1. 认证授权插件: Auth
      2. 流控插件:FlowCtl
      3. 黑白名单插件: WB
      4. 负载均衡插件: LB
      5. 协议解析插件: ProtocolR
      6. 转发插件:Dispatcher
      7. 超时插件:Timeout
      8. 后置插件,统计分析插件:总的访问次数,成功(下游服务能够显示捕获异常并返回的)、失败(网关服务自身出现exception,超时、连接断开)

2. 网络拓扑功能点梳理

  • 网关服务器
  • 客户端角色:spring、dubbo、tcp、thrift、grpc
  • 注册中心:注册客户端数据,网关服务启动时从服务端拉取注册的信息
  • 控制台端:
    • 监控客户端服务的状态,实例的上下线
    • 监控网关服务自身的信息:网关自身实例(服务本身的负载情况),总请求数、成功率失败率
    • 配置化:各种各样的规则,插件的动态配置