第 8 章 对 3scale 的 redis 高可用性(HA)支持
注意
对 3scale 的 Redis 高可用性 (HA) 支持存在一个已知问题。如需更多信息,请参阅 Red Hat 3scale API Management 2.5 发行注记,第 8 章。发行注记中的已知问题。
8.1. 简介
OpenShift 容器平台(OCP)为大多数组件提供高可用性(HA)。如需更多信息,请参阅 OpenShift Container Platform 3.11 第 30 章。高可用性。
3scale 中的 HA 数据库组件包括:
-
system-redis
:为 3scale 的后台作业提供临时存储,也用作system-app
pod 的 Ruby 处理的消息总线。 -
backend-redis
:用于统计存储和临时作业存储。
注意
system-redis
和 backend-redis
都可以被 Redis 集群 (open-source 或 Redis Labs) 替代。
以下 env vars
可以被包括在 system-
(app
,sidekiq
,sphinx
) 部署配置中,虽然只有 Redis Enterprise 需要这样做:
-
MESSAGE_BUS_REDIS_URL
(一个 redis URL) -
REDIS_NAMESPACE
(命名空间 Sidekiq 的 Redis 密钥的简短字符串) -
MESSAGE_BUS_REDIS_NAMESPACE
(命名空间系统消息总线 Redis 密钥的简短字符串)
当 Redis pod 结束或被 OCP 终止时,会自动创建一个新的 pod,数据会从持久性存储中恢复,以便 pod 可以继续运行。在描述的场景中,新 pod 启动时会出现少量停机时间。这是因为 Redis 有不支持多主设置的限制。通过将 Redis 镜像加载到部署 Redis 的所有节点上,可以缩短停机时间,从而加快 pod 重启。