Menu Close

9.2.2. 为 HA 部署 3scale 的新安装

为防止使用单数据库 Redis 实例部署时发生密钥冲突,可以为 sidekiqmessage_bus Redis 密钥设置不同的命名空间。这适用于 Redis Enterprise 和 Redis Cluster。

对于 sidekiqmessage_bus 读取和写入到不同 Redis 数据库的其他部署,不需要命名空间

以下参数用于设置 Redis 密钥 namespaces

  • NAMESPACE :对于与 system-appsystem-sidekiq 存储在 Redis 数据库中的作业队列相关的条目。
  • MESSAGE_BUS_NAMESPACE :对于与 Redis 数据库中 system-app 存储的 message_bus 通信相关的条目。

流程

  1. 使用以下字段创建 backend-redissystem-redis secret:

    backend-redis

    REDIS_QUEUES_SENTINEL_HOSTS
    REDIS_QUEUES_SENTINEL_ROLE
    REDIS_QUEUES_URL
    REDIS_STORAGE_SENTINEL_HOSTS
    REDIS_STORAGE_SENTINEL_ROLE
    REDIS_STORAGE_URL

    system-redis

    MESSAGE_BUS_NAMESPACE
    MESSAGE_BUS_SENTINEL_HOSTS
    MESSAGE_BUS_SENTINEL_ROLE
    MESSAGE_BUS_URL
    NAMESPACE
    SENTINEL_HOSTS
    SENTINEL_ROLE
    URL

    • 当使用 sendinels 为 Redis 配置时,backend-redissystem-redis 中的对应 URL 字段以 redis://[:redis-password@]redis-group[/db]' 格式引用 Redis 组,其中 [x] 表示可选元素 xredis-passwordredis-groupdb 是变量。

      示例

      redis://:redispwd@mymaster/5

    • SENTINEL_HOSTS 字段采用以下格式以逗号分隔:

      redis://:sentinel-password@sentinel-hostname-or-ip:port
      • 对于列表的每个元素,[x] 表示可选元素 xsendinel-passwordfinel-hostname-or-ipport 是相应地替换的变量:

        示例

        :sentinelpwd@123.45.67.009:2711,:sentinelpwd@other-sentinel:2722

    • SENTINEL_ROLE 字段为 masterslave 字段。
  2. 使用最新版本模板,部署 3scale,如 OpenShift 在 OpenShift 上部署 3scale 所示。

    1. 忽略因为 backend-redis system-redis 已存在的错误。