网关的作用
- 动态路由
- 灰度发布[设置负载均衡权重,使旧版本权重更低]
- 授权认证
- 性能监控[qps和接口平均性能、接口成功率]
- 日志
- 数据缓存
- 限流熔断
技术选型
- Kong
- Zuul
- nginx+lua
优缺点
zuul(Servlet、java)
优点:java语言开发、可以二次开发
缺点:高并发能力不强、基于tomcat部署
nginx(nginx+lua、kong)
优点:高并发能力强、异步模型
缺点:不能二次开发
自研(netty)
优点:高并发,跟nginx差不多、可以二次开发
缺点:需要更多人力
并发能力
zuul
8核16G大概可以抗2000QPS左右
生产网关应该具备的功能
- 动态路由
- 灰度发布[设置负载均衡权重,使旧版本权重更低]
- 授权认证
- 性能监控[qps和接口平均性能、接口成功率]
- 日志
- 数据缓存
- 限流熔断
zuul灰度发布
zuul动态路由、负载均衡
1.通过数据库和事件配置,定时读取配置文件和数据库的路由信息
2.根据权重和动态路由信息动态分发请求