Spring Cloud GateWay能干点啥?

Spring Cloud GateWay网关

  • Spring Cloud GateWay是基于Spring官网基于Spring5.0、SpringBoot2.0、Project Reactor等技术开发的网关服务
  • Spring Cloud GateWay基于Filter链提供网关基本功能:安全、监控|埋点、限流等;
  • Spring Cloud GateWay为微服务架构提供简单、有效且统一的API路由管理方式
  • Spring Cloud GateWay是替代NetFlix Zuul的一套解决方案

Spring Cloud GateWay组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。Spring Cloud GateWay是加在整个微服务最前沿的防火墙喝代理器,隐藏微服务结点IP端口信息,从而加强安全保护。Spring Cloud GateWay本身也是一个微服务,需要注册到Eureka服务注册中心。

网关的核心功能是**:过滤和路由**

核心概念

  • **路由(router)**路由信息的组成:由一个ID、一个目的URL、一组断言工厂、一组Fliter组成。如果路由断言为真,说明请求URL和配置路由匹配
  • **断言(Predicate)**Spring Cloud GateWay中的断言函数输入类型是Spring5.0框架中的ServerWebExchange。Spring Cloud GateWay的断言函数允许开发者迁移定义匹配来自于HttpRequest中任何信息比如请求头和参数。
  • **过滤器(Filter)**一个标准的SpringWebFilter。Spring Cloud GateWay中的Fliter分为两种类型的Filter,分别是Gateway Filter和Global Filter。过滤器Filter将会对请求和响应进行修改处理。

Gateway跨域如何配置?

spring: 
  cloud:
	gateway: 
	  globalcors: 
		corsConfigurations: 
		  '[/**]': 
			#allowedOrigins: * # 这种写法或者下面的都可以,*表示全部 
			allowedOrigins: 
			- "http://docs.spring.io" 
            allowedMethods: 
            - GET

上述配置表示:可以允许来自http://docs.spring.io的Get请求方式获取服务数据。

allowedOrigins 指定允许访问的服务器地址,如http://localhost:10000也是可以的。

'[/**]'表示对所有访问到网关服务器的请求地址

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐