1.gateway是什么?
网关:内部服务的统一入口
2.作用是什么?
(1)路由转发
(2)统一的限流、熔断、认证、日志监控等
3.底层技术
webflux:核心技术,协调上下游各个组件提供响应式编程,默认集成的是Reactor
优势:
非阻塞式
函数式编程端点
核心组成部分: Router路由和Predicate 断言和Filter过滤器
Hystrix:断路器,作用:请求限流,路径重写
Handler Mapping 匹配路由
Web Handler 处理路由
4.gateway 接收请求过程
http请求->webflux Reactor 解析配置文件获取Route集合,进行匹配路由->找到对应的处理器进行处理
5.配置详情
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
routes:
- id: user # 路由的id,保证唯一,推荐以业务、微服务起名
uri: lb://user #匹配后提供服务的服务名称,从Eureka中Application一列就是
predicates:
Path=/user/** # 路径匹配
filters:
- StripPrefix=1
- id: intensity
uri: lb://intensity
predicates:
Path=/intensity/**
filters:
- StripPrefix=1
- id: intensity_websocket
uri: lb://ws://intensity
predicates:
Path=/intensity/**
filters:
- StripPrefix=1
- id: forecast
uri: lb://forecast
predicates:
Path=/forecast/**
filters:
- StripPrefix=1
- id: forecast_websocket
uri: lb://ws://forecast
predicates:
Path=/forecast/**
filters:
- StripPrefix=1