我们在《微服务实战spring cloud alibaba(九)为服务增加spring cloud gateway网关》里面添加了spring cloud gateway网关,今天我们就来给大家阐述下spring cloud gateway的网关的一些基础概念,让大家更了解spring cloud gateway。
一、什么是网关
网关顾名思义就是网络关口。客户端访问网关的时候,网关会自动去寻找后台的服务,并使客户端访问到正确的后端服务。
二、常用nginx和spring cloud gateway的区别
nginx在工作中用的比较多,但是我们一般把他看做是网管,他可以直接代理静态文件,也可以路由后端的服务,主要做负载均衡用。spring cloud gateway主要是基于java开发,经常应用于spring cloud 微服务的网关层,同时我们可以在spring cloud gateway里面嵌入我们的业务逻辑,例如:鉴权、跨域、拦截、限流、降级等措施。生产中我们一般把nginx前置,让nginx路由到spring cloud gateway的服务地址,然后通过spring cloud gateway来路由我们的业务服务。
三、spring cloud gateway有哪些特点
序号 | 特点 |
1 | 基于Spring Framework 5,Project Reactor和Spring Boot 2.0 |
2 | 集成Hystrix断路器。 |
3 | 集成Spring Cloud DiscoveryClient。 |
4 | Predicates和Filters作用于特定路由,易于编写的Predicates和Filters。 |
5 | 具备一些网关的高级功能:动态路由、限流、路径重写 |
四、Spring cloud gateway的核心是什么
基于上图我们可以归纳为
序号 | 核心 | 描述 |
1 | 路由(route) | 路由是网关最基础的部分,路由信息由一个ID、一个目的URL、一组断言工厂和一组Filter组成。如果断言为真,则说明请求URL和配置的路由匹配。 |
2 | 断言(predicates) | Java8中的断言函数,Spring Cloud Gateway中的断言函数输入类型是Spring5.0框架中的ServerWebExchange。Spring Cloud Gateway中的断言函数允许开发者去定义匹配来自Http Request中的任何信息,比如请求头和参数等。 |
3 | 过滤器(filter) | 一个标准的Spring webFilter,Spring Cloud Gateway中的Filter分为两种类型,分别是Gateway Filter和Global Filter。过滤器Filter可以对请求和响应进行处理。 |
好了,spring cloud gateway的基础概念目前就介绍到这,比较复杂的可能深入到源码的这些类就不介绍了,因为我们这里主要给大家介绍一些核心的东西,比较常用的内容。其他复杂的,可能会深入源码的内容如果写的话,大概率都是直接复制粘贴给大家,没有太多意思。而且像我时间久了,源码这些相关的内容也记不住,所以总结一句话,够用就好。
还没有评论,来说两句吧...