扩展zuul代理

时间:2016-03-07 02:51:28

标签: reverse-proxy spring-cloud netflix-eureka netflix-zuul

我们通过在eureka服务注册中心注册了多个实例来扩展我们系统中的所有服务。

此外,它们也由前面的zuul服务器代理。

我的问题是,当从客户端访问时,我们如何确保zuul代理的可扩展性。

我能想到的一个解决方案是在eureka注册表中注册了多个代理实例。但如果这样做,我们如何决定将哪些实例暴露给客户。

1 个答案:

答案 0 :(得分:4)

我们的应用程序遇到了同样的问题,在我们的后端有多种类型的微服务类型应用程序。所有服务器都在Eureka注册。问题是我们还配置了多个安全网关(基于这个优秀教程中描述的架构:https://spring.io/guides/tutorials/spring-security-and-angular-js/)。

最终我们决定使用硬件http负载均衡器,以循环方式调用我们的安全网关(我们的解决方案是在本地)。

我们使用带有@EnableHttpRedisSession注释的Redis使spring会话在所有服务器上同步,因此http负载均衡器不必处理粘性会话或有状态注意事项。它只对所有安全网关进行循环。如果负载均衡器击中SG1,SG2或SG3并不重要,它们都会共享来自Redis的相同会话信息(也配置为使用Redis Sentinel进行故障转移)。