Spring cloud zuul因为闭源,所以一般不再作为推荐组件,Spring cloud自身组建团队推出了Spring Cloud GateWay组件。关于网关,相关的组件有:
网关 | 说明 |
---|---|
spring cloud gateway | Spring Cloud自组团队推出套件 |
OpenRestry | nginx + lua |
Kong | nginx + lua |
spring cloud Zuul | NetFlix套件 |
网关的作用
image.png这张图片就很清晰的说明的网关的作用,日志、鉴权、路由。
Spring Cloud Gateway
主要工作原理和功用在其doc文档中都说明的非常清晰:
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-how-it-works
看到这个图片不要误解了,其实现不是Spring MVC而是Spring webflux。
网关主要就是它的配置文件,有两个关键:
- 一是网关进入后,如果要起到负载均衡的作用,那么需要在文件中配置好Eureka的配置,在uri配置中都配置 lb://{service_name},这样去配置。
- 另外就是关于Gateway的Router的配置,在官网文档上predicate配置有11种,filter的有31种。流程上先要经过predicate判断,通过后再经过filter,再到达uri调用。
小结
网关本身比较简单,如果要自己设计一个网关,应当怎么设计以及网关集群怎么考虑,需要深入思考一下。
完成网关学习后,微服务的组成套件就基本齐全了,可以对照学习Spring Cloud Alibaba或者公司自研的组件了。
网友评论