-
优点
- 性能强劲:是第一代网关Zuul的六倍
- 功能强大:内置很多实用功能,例如转发,监控,限流等
- 设计优雅,容易扩展
-
缺点
- 依赖Netty与WebFlux(Spring5.0),不是传统的Servlet编程模型(Spring MVC就是基于此模型实现),学习成本高。
- 需要Spring Boot 2.0及以上的版本,才支持
-
面试题
- 什么是网关?服务访问(流量)的入口,类似生活中的海关
- 为什么使用网关?服务安全,统一服务入口管理,负载均衡,限流,鉴权
- Spring Cloud Gatway应用的初始构建过程:添加依赖,配置
- Gatway 服务的启动底层是谁去实现的?(Netty网络编程框架-ServerSocket)
- Gatway服务做请求转发时一定要在注册中心进行注册码?(不一定,也可以直接用远端ur进行访问)
- 网关层面是如何实现负载均衡的?通过服务名去查找具体的服务实例
- 网关层面是如何通过服务名去查找服务实例的?Ribbon
- 你了解Ribbon中哪些负载均衡算法?(轮询,权重,hash....可以通过IRule接口进行查看)
- 网关进行请求转发的流程是怎样,有哪些关键对象?(XxxhashMapping,Handler,....)
- 网管层面的服务映射是怎样的?(谓词-path,...服务名/服务实例)
- 网管层如何记录服务映射的?(通过map,并要考虑读写锁的应用)