冗余Oauth身份验证服务器(高可用性/故障转移)

时间:2016-02-17 10:20:41

标签: spring-oauth2

我们正在考虑在我们的微服务之间使用oauth身份验证。 即使身份验证服务器已关闭,这些服务仍将继续工作非常重要。

在我的方案中,AuthorizationServer不应该是多余的吗?

我们正在使用自己的AuthorizationServer(基于https://github.com/spring-cloud-samples/authserver.git) (并使用最新稳定的弹簧云/弹簧启动apis)

我找不到任何关于使用第二个AuthorizationServer的文档,因此当第一个AuthorizationServer关闭时,微服务会继续工作。谁能解释一下如何做到这一点?

2 个答案:

答案 0 :(得分:1)

您的问题并非特定于OAuth或授权服务器,而是适用于所有需要高可用性的应用程序。

常见的解决方案是在授权服务器前部署负载均衡器。它将接受所有传入的请求,并使用例如任何可用的服务器发送它。循环负载均衡算法。

答案 1 :(得分:0)

您可以使用像Keycloak服务器这样的产品,它可以为您提供高可用性。创建的令牌存储在中央数据库中,如果一个Auth服务器关闭,另一个Auth服务器可以为客户端提供服务。这也可以为您提供SSO功能。