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 堆栈。