第 4 章 用于 3scale 中的高可用性支持外部 Redis 数据库配置
红帽支持使用外部 Redis 数据库的 3scale 配置。但是,不支持为零停机时间设置 Redis、为 3scale 配置后端组件或 Redis 数据库复制和分片。其内容仅供参考。另外,3scale 不支持 Redis 集群模式
。
OpenShift 容器平台(OCP)为大多数组件提供高可用性(HA)。
从 Red Hat 3scale API 管理部署外部化数据库时,这意味着与应用程序分离,并对在数据库一级的服务中断有一定的弹性。服务中断的恢复取决于您托管数据库的基础架构或平台供应商提供的服务级别协议 (SLA)。3scale 不提供此功能。有关您选择的部署提供的数据库外部化的详情,请查看相关的文档。
Red Hat 3scale API 管理中的 HA 的外部数据库组件包括:
-
backend-redis
:用于统计存储和临时作业存储。 -
system-redis
:为 3scale 的后台作业提供临时存储,也用作system-app
pod 的 Ruby 处理的消息总线。
backend-redis
和 system-dis
都可以与 Redis Sentinel 和 Redis Enterprise 支持的 Redis 高可用性变体一起工作。
如果 Redis pod 进入停止状态,或者 OpenShift Container Platform 停止它,则会自动创建新的 pod。持久存储将恢复数据,以便 pod 继续工作。在这些情况下,新容器集启动时会出现少量停机时间。这是因为 Redis 中不支持多主设置的限制。您可以通过在已部署 Redis 的所有节点上预安装 Redis 镜像来缩短停机时间。这将加快 pod 重启时间。
为零停机时间设置 Redis,并为 3scale 配置后端组件:
先决条件
- 具有管理员角色的 3scale 帐户。
4.1. 为零停机时间设置 Redis
以 3scale 管理员身份,如果您不需要停机,请在 OCP 外部配置 Redis。使用 3scale pod 的配置选项进行设置的方法有几种:
- 设置您自己的自助管理的 Redis
- 使用 Redis Sentinel:参考 Redis Sentinel 文档
redis 作为服务提供:
例如:
- Amazon ElastiCache
- redis Labs
红帽不支持上述服务。提及任何此类服务并不意味着红帽认可这些产品或服务。您同意,由于您使用(或依赖)任何外部内容而可能导致的任何损失或费用,红帽不承担任何责任。