Zuul 的高可用非常关键,因为外部请求到后端微服务的流量都会经过 Zuul。因此,在生产环境中,我们一般需要部署高可用的 Zuul 来避免单点故障。
Zuul 的高可用分两种场景来讨论。
在这种情况下,Zuul 的高可用就很简单了。只需在 Eureka Server 上注册多个 Zuul 节点即可实现 Zuul 的高可用。在这一点上,Zuul 的高可用与其他微服务的高可用并无区别。
当 Zuul 客户端也注册在 Eureka Server 上时,只需部署多个 Zuul 节点即可实现其高可用。Zuul 客户端会自动从 Eureka Server 查询 Zuul Server 列表,并使用 Ribbon 负载均衡请求 Zuul 集群。
实际上,这种情况通常更为常见。比如Zuul客户端是一个手机app——我们不可能把所有的手机终端都注册到Eureka Server上。在这种情况下,我们可以使用额外的负载均衡器来实现 Zuul 的高可用,例如 Nginx、HAProxy、F5 等。
Zuul 客户端将请求发送到负载均衡器,负载均衡器将请求转发到其代理 Zuul 节点之一。这样就可以实现Zuul的高可用了。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习