Spring Cloud Gateway 使用
2019-10-02 08:13
302 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ityard/article/details/101898994
简介
Spring Cloud Gateway 是 Spring Cloud 官方推出的网关框架,网关作为流量入口,在微服务系统中有着十分重要的作用,常用功能包括:鉴权、路由转发、熔断、限流等。
Spring Cloud Gateway 是通过 Spring WebFlux 的 HandlerMapping 做为底层支持来匹配到转发路由,使用时不要引入 SpringMVC,否则初始化时会出错;Spring Cloud Gateway 内置了很多 Predicates工厂,这些 Predicates 工厂通过不同的 HTTP 请求参数来匹配,多个 Predicates 工厂可以组合使用。
快速上手
1)添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>
2)配置(结合Eureka使用)
server: port: 8066 spring: cloud: gateway: discovery: locator: enabled: true lower-case-service-id: true #设置serviceId小写,默认大写 routes: - id: user-server uri: lb://user-server #lb表示从注册中心获取服务 predicates: - Path=/userapi/** # 如果请求地址满足/userapi/**,则转发到user-server服务 filters: - StripPrefix=1 # 去除原请求地址中的userapi eureka: client: serviceUrl: defaultZone: http://localhost:8088/eureka/
3)集成Hystrix
添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
添加配置
filters: - name: Hystrix args: name : default fallbackUri: 'forward:/dfallback' hystrix: command: default: execution: isolation: thre 3ff7 ad: timeoutInMilliseconds: 6000
4)Java 端
@RestController public class DHystrixController { @RequestMapping("/dfallback") public Map<String,String> dfallback(){ System.out.println("降级了。。。"); Map<String,String> map = new HashMap<String,String>(); map.put("rCode","-1"); map.put("rMsg","出错了"); return map; } }
相关文章推荐
- Api Gateway Zuul简介及SpringCloud中的使用
- Spring Cloud Gateway使用
- Spring Cloud Gateway使用Token验证详解
- 在spring cloud eureka中使用ip而不是hostname
- 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
- springCloud微服务使用
- 使用Spring Cloud Netflix技术栈实施微服务架构
- 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
- 关于在Spring Cloud Feign工程中使用Hystrix配置不生效的问题
- Spring Cloud实战小贴士:Zuul的饥饿加载(eager-load)使用
- 微服务框架Spring Cloud介绍 Part1: 使用事件和消息队列实现分布式事务
- 学习Spring Cloud第七课(Ribbon的基本使用)
- 使用Spring Cloud Feign
- spring boot / cloud (八) 使用RestTemplate来构建远程调用服务
- Spring Cloud feign使用
- 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)
- spring cloud config开发使用
- 使用Spring Cloud Consul实现服务的注册和发现
- 微服务框架Spring Cloud介绍 Part4: 使用Eureka, Ribbon, Feign实现REST服务客户端
- 服务注册发现Eureka之三:Spring Cloud Ribbon实现客户端负载均衡(客户端负载均衡Ribbon之三:使用Ribbon实现客户端的均衡负载)