本文主要是介绍Spring Cloud GateWay(核心概念、快速入门、面向服务的路由、路由前缀处理、过滤器、自定义局部过滤器、自定义全局过滤器、负载均衡和熔断配置、跨越配置、高可用、与Feign区别),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Spring Cloud GateWay(该为)网关 :核心就是一系列的过滤器,可以将客户端的请求转发到不同的微服务。主要作用是 路由 和 过滤
本身也是一个微服务,需要注册到 eureka服务注册中心
* 服务内部调用可以使用 feign, 服务外部调用必须用gateway(隐蔽服务节点IP端口信息,日志,权限验证)
* 底层也是用 ribbon 做负载均衡
一、核心概念
二、快速入门
1、不选框架,创建名称为lt-geteway的Module
2、添加启动器依赖
<dependencies><!--gateway启动依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--Eureka客户端启动依赖(也需要注册到eureka服务中心)--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency></dependencies>
3、启动引导类,开启Eureka客户端发现功能
@SpringBootApplication
@EnableDiscoveryClient //开启Eureka客户端发现功能
public class GateWayApplication {public static void main(String[] args) {SpringApplication.run(GateWayApplication.class);}
}
4、yml 配置eureka地址、网关路由
server:port: 10010spring:application:name: api-getewaycloud:gateway:routes:- id: user-service-route # 路由id,可以任意(可配置多个)uri: http://127.0.0.1:9090 # 代理服务地址predicates:# 路由断言: 可以配置映射路径(/accountlist/这个路径,转到 http://127.0.0.1:9090)- Path=/accountlist/**eureka:client:service-url:# eureka服务地址(如果是集群的话,需要指定其它eureka地址)defaultZone: http://127.0.0.1:10086/eurekainstance:# 服务实例使用ip地址(消费工程获取实例时,获取的地址是ip,而不是localhost)prefer-ip-address: true
5、测试
http://127.0.0.1:10010/accountlist
三、面向服务的路由
根据服务名,从eureka 中获取实例列表,基于ribbon负载均衡算法,从中选择一个地址,并转到这个服务中
这篇关于Spring Cloud GateWay(核心概念、快速入门、面向服务的路由、路由前缀处理、过滤器、自定义局部过滤器、自定义全局过滤器、负载均衡和熔断配置、跨越配置、高可用、与Feign区别)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!