标签:spring id Filter cloud gateway 路由
1.spring cloud gateway的目标是提供统一的路由方式基于Filter链的方式提供了网关基本的功能,例如安全,监控/指标、限流
spring gateway具有如下特征:
动态路由:能给匹配任何请求属性;可以对路由指定Predicate断言和Filter过滤器
集成hystrix的断路器功能;
集成spring cloud服务发现功能;
易于编写的Predicate和Filter;
请求限流功能;
支持路径重写。
2.三大核心概念
路由:构建网关的基本模块,由id,目标uri,一系列的断言和过滤器组成,如果断言为true匹配该路由
Predicate断言:如果请求与断言相匹配则进行路由
Filter:使用过滤器,可以在请求被路由前或之后对请求进行修改
3.gateway搭建
pom 引入 spring-cloud-starter-gateway
yml配置:
spring:
cloud:
gateway:
routes:
- id: 路由的id,没有固定规则,但要求唯一,建议配合服务名
uri: http://localhost:8001
predicates:
- Path=/payment/get/**
- id: 路由的id,没有固定规则,但要求唯一,建议配合服务名
uri: http://localhost:8001
predicates:
- Path=/payment/lb/**
网关路由有两种配置:
1.在配置文件yml中配置
2.代码中注入routeLocator的Bean
动态路由配置:
spring:
cloud:
gateway:
discovery:
locator:
enabled: true 开启注册中心动态创建路由的功能,利用微服务名进行路由
routes:
- id:
uri: lb://服务名
predicates:
- Path=/payment/get/**
常用的Predicate:after,before,cookie, header,method
spring cloud gateway的Filter 生命周期只有两种:pre,post,种类:GatewayFilter,GlobalFilter
自定义全局GlobalFilter:两个主要接口 implements GlobalFilter,Ordered
标签:spring,id,Filter,cloud,gateway,路由 来源: https://blog.csdn.net/highly2009/article/details/122727010
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。