首页 > 解决方案 > Keycloak docker重启后如何保持infinispan Session

问题描述

我有一个正在运行的 keycloak 8 的 docker,但每当我重新启动它时,所有非离线会话都会消失。结果,每当我来更新 keycloak 时,所有用户都会断开连接。

原因:

作为解决方案,我想使用集群(如这里推荐的那样),并且我理解,核心部分只是很好地管理 Infinispan。

想法:

欢迎任何更多想法:)

标签: dockersessionjbosskeycloakinfinispan

解决方案


到目前为止,我已经尝试过第二次使用 docker cluster,但现在使用 docker swarm 和来自这里的信息:

PING 发现协议在 udp 堆栈中默认使用(在standalone-ha.xml 中默认使用)。由于 Keycloak 镜像默认运行在集群模式下,所以你需要做的就是运行它:

docker run jboss/keycloak

如果您在本地运行它的两个实例,您会注意到它们形成了一个集群。

我已经使用 docker stack 在集群模式下部署了非常简单的 3 个 keycloak 实例,并带有一个外部数据库(postgres),并且运行良好。

更简单地说,keycloak docker 在使用集群时已经处理了这个用例。

有关集群用例的更多信息,请参阅有关如何设置 Keycloak 集群的教程


推荐阅读