Gateway-概述
当我们使用微服务的时候,有时候我们不仅需要调用一个微服务,可能我们同时需要发送多个请求到多个服务器来完成一个请求。如果直接将我们微服务的ip暴露给用户,那么无疑是降低顾客的体验,而且如果面对一些服务ip更换,也会造成很多麻烦,通常这种时候,我们将这些多个请求都集成在一个服务器里面,这个就被称为网关。
网关就是系统的入口,封装了应用程序的内部结构,为客户端提供统一服务。并且一些与业务本身功能无关的公共逻辑可以在这里实现,诸如:认证,鉴权,监控,缓存,负载均衡等
常用的网关解决方案有:Nginx+Lua Netflix Zuul SpringCloud Gateway等等 ,我主要介绍的是基于springCloud框架的Gateway。
Gateway-快速入门
网关也是一个独立的模块,需要单独注册到erueka里面。
1,引入依赖
<dependencies>
<!--引入gateway 网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- eureka-client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency