10.3. 传输堆栈
传输堆栈确保红帽以可靠的方式在集群中构建 Keycloak 节点。Red Hat build of Keycloak 支持各种传输堆栈:
-
jdbc-ping
-
kubernetes
-
jdbc-ping-udp
(已弃用) -
tcp
(已弃用) -
UDP
(已弃用) -
ec2
(已弃用) -
Azure
(已弃用) -
Google
(已弃用)
要应用特定的缓存堆栈,请输入以下命令:
bin/kc.[sh|bat] start --cache-stack=<stack>
bin/kc.[sh|bat] start --cache-stack=<stack>
启用分布式缓存时,默认堆栈设置为 jdbc-ping
,该缓存与 Red Hat build of Keycloak 的 26.x 发行流中的默认值向后兼容。
10.3.1. 可用的传输堆栈 复制链接链接已复制到粘贴板!
下表显示了在没有进一步配置的情况下可用的传输堆栈,它们比使用 --cache-stack
运行时选项不同:
堆栈名称 | 传输协议 | Discovery(发现) |
---|---|---|
| TCP |
使用 JGroups |
| UDP |
使用 JGroups |
下表显示了使用- cache-stack
运行时选项和最低配置可用的传输堆栈:
堆栈名称 | 传输协议 | Discovery(发现) |
---|---|---|
| TCP |
使用 JGroups |
| TCP |
使用 JGroups |
| UDP |
使用 JGroups |
使用 tcp
、udp
或 jdbc-ping-udp
堆栈时,每个集群都必须使用不同的多播地址和/或端口,以便其节点组成不同的集群。默认情况下,红帽构建的 Keycloak 使用 239.6.7.8
作为 jgroups.mcast_addr
和 46655
的多播地址,用于多播端口 jgroups.mcast_port
。
use -D<property>=<value
> 通过 JAVA_OPTS_APPEND
环境变量或 CLI 命令传递属性。
其他堆栈
建议您使用上面提供的其中一个堆栈。其他堆栈由 Infinispan 提供,但它超出了本指南的配置范围。如需了解更多文档,请参阅设置 Infinispan 集群传输 和自定义 JGroups 堆栈。