sbc(六) Zuul GateWay 网关应用
前言
看过之前SBC系列的小伙伴应该都可以搭建一个高可用、分布式的微服务了。 目前的结构图应该如下所示:
各个微服务之间都不存在单点,并且都注册于 Eureka
,基于此进行服务的注册于发现,再通过 Ribbon
进行服务调用,并具有客户端负载功能。
一切看起来都比较美好,但这里却忘了一个重要的细节:
当我们需要对外提供服务时怎么处理?
这当然也能实现,无非就是将我们具体的微服务地址加端口暴露出去即可。
那又如何来实现负载呢?
简单!可以通过 Nginx F5
之类的工具进行负载。
但是如果系统庞大,服务拆分的足够多那又有谁来维护这些路由关系呢?
当然这是运维的活,不过这时候运维可能就要发飙了!
并且还有一系列的问题:
- 服务调用之间的一些鉴权、签名校验怎么做?
- 由于服务端地址较多,客户端请求难以维护。
针对于这一些问题 SpringCloud
全家桶自然也有对应的解决方案: Zuul
。
当我们系统整合 Zuul 网关之后架构图应该如下所示: