核心知识点:
- API 网关(Gateway)诞生背景
- 市场主流微服务网关(Spring Cloud Gateway,zuul,…)
- API Gateway实现服务的保护和转发(重点)
- API Gateway层面的负载均衡实现(重点,lb://sca-provider)
- API Gateway请求处理原理分析(重点:官方图,了解关键代码,执行过程)
- API Gateway中常用谓词(predicate)对象及实践.
常见问题分析:
- 为什么要使用api网关?(服务保护,统一url访问,统一身份认证,统一跨域设计,。。。)
- 网关入门实践的步骤? (依赖,配置,启动,服务访问)
- 网关项目中的负载均衡是如何实现?(底层基于Ribbon实现,可以在RibbonLoadBalancerClient中加断点分析)
- 说说SpringCloud gateway处理请求的基本流程?(官方,断点)
- 网关中的谓词对象类型?(GatewayPredicate)
- 网关中的谓词对象是如何创建的?(谓词工厂)
- 你在网关中配置过哪些常用谓词?(Path,Method,Before,Query,Header,…)
常见BUG分析:
配置文件格式不正确
服务访问被拒绝
服务注册失败(nacos没启动)
503 异常(找不到可用的服务)
Gateway 应用进阶
核心知识点
- API Gateway中过滤器(Filter)的类型及实践
- API Gateway中基于sentinel实现服务限流(API,路由id)
- API Gateway中基于自定义限流结果的处理(GatewayCallbackManager)
常见问题分析
- 网关中的过滤器是如何分类的?(GlobalFilter,GatewayFilter:需要手动配置)
- 我们是否可以自定义谓词,过滤器对象?(可以,参考官方默认的定义)
- 网关层面如何基于sentinel实现限流?(有关sentinel的两个依赖,配置,JVM参数)
- 网关层面的限流类型有哪些?(路由id,API分组)
- 我们是否可以对限流结果进行自定义处理?(可以)