一、Gateway简介
网关,在微服务架构中,主要用来路由,增强和控制对服务的访问,同时也具备负载均衡、流量控制、访问控制等能力,SpringCloud Gateway是Spring官方基于Spring5.0、SpringBoot2.0等技术开发的网关,SpringCloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。
- 第二代网关技术和SpringCloud配合更紧密,之前的网关技术是zuul
- 底层Netty(网络框架,封装了NIO)性能更好,多路复用
- 路由过滤器合理的API设计,功能更加强大
二、为什么使用网关
目前项目的问题:
- 微服务外部调用微服务集群里面的内容时,遇到问题,服务太多,需要记住所有的服务的地址
- 一个服务有很多台机器,需要做负载均衡,浏览器显然不能做这件事情
- 无法对请求进行统一的统计和过滤
网关就可以解决这些问题
- 微服务网关封装了应用程序的内部结构,客户端只需要跟网关交互,而无需直接调用特定微服务
- 方便监控,所有的请求都可以先请求网关,方便了对请求的管理和监控
- 统一过滤处理,方便管理
- 可以做负载均衡
三、Gateway使用
- 创建一个服务(coding-gateway),并注册到注册中心
- 引入gateway网关依赖
-
<!--引入gateway网关依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>
-
注意:不能导入SpringBoot W
-