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>
Copy to Clipboard Toggle word wrap

启用分布式缓存时,默认堆栈设置为 jdbc-ping,该缓存与 Red Hat build of Keycloak 的 26.x 发行流中的默认值向后兼容。

10.3.1. 可用的传输堆栈

下表显示了在没有进一步配置的情况下可用的传输堆栈,它们比使用 --cache-stack 运行时选项不同:

Expand
堆栈名称传输协议Discovery(发现)

jdbc-ping

TCP

使用 JGroups JDBC_PING2 协议的数据库注册表.

jdbc-ping-udp (已弃用)

UDP

使用 JGroups JDBC_PING2 协议的数据库注册表.

下表显示了使用- cache-stack 运行时选项和最低配置可用的传输堆栈:

Expand
堆栈名称传输协议Discovery(发现)

kubernetes

TCP

使用 JGroups DNS_PING 协议进行 DNS 解析。它需要将 jgroups.dns.query 设置为无头服务 FQDN。

tcp (已弃用)

TCP

使用 JGroups MPING 协议进行 IP 多播。请参阅以下有关如何为每个集群配置唯一的 jgroups.mcast_addrjgroups.mcast_port

UDP (已弃用)

UDP

使用 JGroups PING 协议进行 IP 多播。请参阅以下有关如何为每个集群配置唯一的 jgroups.mcast_addrjgroups.mcast_port

使用 tcpudpjdbc-ping-udp 堆栈时,每个集群都必须使用不同的多播地址和/或端口,以便其节点组成不同的集群。默认情况下,红帽构建的 Keycloak 使用 239.6.7.8 作为 jgroups.mcast_addr46655 的多播地址,用于多播端口 jgroups.mcast_port

注意

use -D<property>=<value > 通过 JAVA_OPTS_APPEND 环境变量或 CLI 命令传递属性。

其他堆栈

建议您使用上面提供的其中一个堆栈。其他堆栈由 Infinispan 提供,但它超出了本指南的配置范围。如需了解更多文档,请参阅设置 Infinispan 集群传输 和自定义 JGroups 堆栈

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat