springcloud2学习笔记-gateway基于注册发现的默认路由配置
环境
- spring cloud版本:Finchley.SR2
- spring boot版本:2.0.6.RELEASE
介绍
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,请求/响应处理,和限流等。
- 架构图如下
gateway的特性
- 基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0
- 动态路由
- Predicates 和 Filters 作用于特定路由
- 集成 Hystrix 断路器
- 集成 Spring Cloud DiscoveryClient
- 易于编写的 Predicates 和 Filters
- 限流
- 路径重写
基于注册发现的默认路由配置
- 服务提供者配置
server:
port: 9051
spring:
application:
name: mybatisdemo
cloud:
consul:
host: localhost
port: 8500
- gateway配置
server:
port: 7777
logging:
level:
org.springframework.cloud.gateway: trace
org.springframework.http.server.reactive: debug
org.springframework.web.reactive: debug
reactor.ipc.netty: debug
spring:
cloud:
gateway:
discovery:
locator:
enabled: true # 开启注册发现服务动态路由
# 注册中心配置
consul:
host: localhost
port: 8500
application:
name: server-gateway
路由规则说明:http://gateway-host:gateway-port/serviceId/**,如果你注册中心选择的是consul,serviceId的大小写和你的服务的保持一致,这个可能和你选用的注册发现中心有关系。
测试效果
- 服务提供者运行截图
- gateway网关运行截图