SpringCloud Gateway 服务网关,断言
SpringCloud Gateway 是SpringCloud 生态系中的网关,不仅提供统一路由功能,通过 Filter 过滤链实现网关的基本功能,比如用户验证,鉴权,限流等功能。它使用非阻塞模式,性能优于 Netflix Zuul,并且支持长连接。
SpringCloud Gateway 的核心组件就是断言和过滤器。
SpringCloud Gateway 路由功能,使用断言进行请求和路由的匹配,匹配上的请求被发送到对应的网关 web 处理器进行处理,处理器处理时经过一系列过滤器。
下面是Gateway的基本使用。
在之前Consul 主项目中添加 gateway模块,实现服务网关功能。
1、maven依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2、配置文件
server:port: 8801
spring:application:name: gatewaycloud:consul:host: localhostport: 8500discovery:service-name: gatewaygateway:discovery:locator:enabled: falselower-case-service-id: true #将请求路径的服务名为小写routes:- id: logserviceuri: lb://logservicepredicates:- Path=/log/**filters:- StripPrefix=1- id: orderserviceuri: lb://orderservicepredicates:- Path=/order/**filters:- StripPrefix=1# 配置日志
logging:level:org.springframework.cloud.gateway: debug
routes节点下可以设置多个路由,每个路由由唯一id,匹配对应的服务,
在predicates节点下配置断言, Gateway 内置了多种断言,常用的有 Path, 路径路由断言,上面uri里的lb意思是从注册中心获取服务,使用load balance 负载均衡,也可以为具体的网址,比如 http://localhost:8801/log。
Method 方法路由断言,只允许指定的请求方法类型通过。其他还包括Header,Cookie, Host,QueryParam,RemoteAddr, DateTime。
上面配置中的StripPrefix 用于路径截取,数字代表截取的路径的个数,比如当StripPrefix=1的时候,http://localhost:8801/log/log 对应为 http://localhost:8801/log。
如果请求出现404错误,需要检查路由匹配设置是否正确。
3、启动类上添加注解
@EnableDiscoveryClient
4、从网关访问日志服务和订单服务
http://localhost:8801/log/log
http://localhost:8801/order/order
SpringCloud Gateway 服务网关,断言相关推荐
- SpringCloud - GateWay服务网关
文章目录 一. Gateway概述 1.Gateway是什么 2. Gateway作用 3. 微服务架构中网关的位置 4. SpringCloud Gateway概念 5. SpringCloud G ...
- SpringCloud Gateway 服务网关,限流
SpringCloud Gateway 提供了基于Redis 和lua脚本实现的令牌桶算法进行限流,即 RequestRateLimiterGatewayFilterFactory类,通过设置过滤器实 ...
- SpringCloud Gateway 服务网关,过滤器
SpringCloud Gateway 过滤器有 pre 和 post 两种方式,请求首先经过 pre 过滤器处理,成功后被转发到对应的服务,然后经过 post 过滤器处理,将结果返回客户端.这种机制 ...
- SpringCloud 微服务网关Gateway 动态路由配置
概述:在上一章节<SpringCloud 微服务网关Gateway介绍及简单路由配置>中我们讲述了Gateway的最简单的路由配置方式.但是其中比较明显的问题就是我们在配置路由服务的地址时 ...
- SpringCloud 微服务网关Gateway介绍及简单路由配置
概述:什么是微服务网关?为了解决用户客户端在调用微服务系统中的多个消费者工程接口时,需要维护非常多的消费者应用接口地址等信息,以及可能存在不同应用见的调用跨域等问题,微服务网关组件随即出现.网关作为用 ...
- 【Spring Cloud Alibaba】Gateway 服务网关
[Spring Cloud Alibaba]Gateway 服务网关 1 架构图 2 Predicate 断言 3 路由 3.1 静态路由 3.2 动态路由 3.3 Nacos 配置 4 过滤器 4. ...
- 微服务01SpringCloud Eureka Ribbon Nacos Feign Gateway服务网关
微服务技术栈导学 SpringCloud01 1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构.这些架构之间有怎样的差别呢? 1.0.学 ...
- Spring cloud Gateway 服务网关 实战
Spring cloud Gateway 服务网关 一.简介 优点: 特性: 总结: 二.核心概念 三.路由规则 1.Path 2.Query 3.Method 4.Datetime 5.Romote ...
- 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关
微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关 1. 微服务简介 1.1 服务架构演变 1.2 SpringCloud ...
最新文章
- 得到的旋转向量和平移向量转换成旋转矩阵 (SE(3))
- ASP.NET中MVC编程模式简介与搭建HelloWorld项目
- 第十七章 特殊成员_类的函数指针
- 『ACM-算法-二分法』算法竞赛进阶指南--在单调递增序列a中查找大于等于X的数中最小的一个,即X或X的后继
- gpedit msc组策略面板 win10在哪里_windows10的组策略在哪
- 套接字设置为(非)阻塞模式
- 【 FZU - 2214 】Knapsack problem(逆向0-1背包)
- 常用函数的连续傅里叶变换对
- StackExchange.Redis 使用LuaScript脚本模糊查询hash
- V4L2 获取设备支持的分辨率
- 亲测VS2010纯静态编译QT4.8.2,实现VS2010编译调试Qt程序
- Springboot+Thymeleaf《药品管理系统》
- HTTP报文结构详解
- 地面监视雷达系统的设计与试验
- iOS两个强制旋转屏幕的方法
- Git: The following paths are ignored by one of your .gitignore files: xxx.dll
- SpringBoot系列之(一):入门
- Ipad2022可以用电容笔吗?双十一值得入手电容笔推荐
- 末学者笔记--apache编译安装及LAMP架构上线
- 推荐|脚本2分钟实现电话短信报警
热门文章
- textaligncenter仍然不居中_三星Galaxy S21/S21+保护膜曝光:居中挖孔 回归直屏_手机行情...
- linux I/O-记录锁(record lock)
- MySQL将一张表数据插入到另一张表
- 计算机会计学实验报告,最新计算机会计学实验报告-10本.doc
- 履带机器人动力总成_工业机器人在动力总成工厂智能化提升中的应用
- LeetCode - Easy - Excel Sheet Column Title
- OEL6.1下oracle 11gr2 ASM安装
- Ruby1.9.3 Rails 3.2.3安装
- mysql用一条sql语句删除重复记录_mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句...
- mysql连接查询(内联)_MySQL之连接查询