我有一个正在运行的keycloak 8的docker,但是每当我重新启动它时,所有非脱机会话都会消失。结果,每当我来更新密钥斗篷时,所有用户都将断开连接。
作为解决方案,我一直想用集群(推荐这里),我理解,最核心的部分只以及管理的Infinispan。
我首先想将infinispan存储在docker容器外(成卷),然后搜索JBoss将Infinispan保存在docker中的位置,但是我什么都没找到。
其次,我考虑过使用SPI从外部管理用户会话,但这似乎不是正确的解决方案,因为infinispan已经做得很好。
借助本文中有关Keycloak中的跨数据中心支持的文章以及有关AWS中的Keycloak跨数据中心设置的另一篇文章的帮助,可以设置一个集群,但这似乎是一个不错的起点,但是我实际上仍在使用docker,并且不确定是否对我而言,从这些教程构建docker映像是一个更好的主意。
任何更多的想法将是受欢迎的:)
到目前为止,我已经尝试过第二次使用docker cluster,但是现在将docker swarm与来自这里的信息一起使用:
默认情况下,udp堆栈中使用PING发现协议(默认情况下,standalone-ha.xml中使用它)。由于Keycloak映像默认情况下以集群模式运行,因此您所需要做的就是运行它:
docker run jboss/keycloak
如果您在本地有两个实例,您会注意到它们构成一个集群。
我已经使用docker stack在集群模式下使用外部数据库(postgres)部署了三个非常简单的keycloak实例,并且运行良好。
Simplier说,使用集群时,keycloak docker已经处理了该用例。
有关集群用例的更多信息,请参考本教程,了解如何设置Keycloak集群
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句