开启Sentinel兼容

Sentinel是Redis提供的高可用服务,云数据库Tair(兼容 Redis)实例提供了Sentinel兼容模式,以适应使用了Sentinel的场景。您可以依照本文的说明在控制台中开启该模式。

前提条件

  • 实例的版本为兼容Redis 4.0及以上。

  • 实例的网络类型为专有网络。

    说明

    如果实例为经典网络,切换方法请参见切换为专有网络VPC

Redis Sentinel简介

Redis Sentinel为Redis提供主从实例监控、故障告警、自动故障切换等服务,很多使用本地自建Redis数据库并且对可靠性要求较高的业务场景都用到了Sentinel。为了给这类场景中的Redis数据库迁移上云提供方便,阿里云开发了Sentinel兼容模式。

说明

云数据库Tair(兼容 Redis)使用自研的高可用服务HA组件,无需Sentinel。

开启Sentinel兼容模式后,您可以使用如下的Sentinel相关命令:

命令

说明

SENTINEL sentinels

查询指定master的Sentinel实例列表以及这些Sentinel实例的状态。使用方式:

SENTINEL sentinels <master名称>

SENTINEL get-master-addr-by-name

查询指定master的IP地址和端口号。使用方式:

SENTINEL get-master-addr-by-name <master名称>

操作步骤

  1. 访问实例列表,在上方选择地域,然后单击目标实例ID。

  2. 实例信息页的左侧导航栏中,单击参数设置

  3. 根据实例架构,通过修改对应的参数开启Sentinel兼容模式,具体操作请参见设置参数

    • 若实例为集群架构代理模式或读写分离架构:将sentinel_compat_enable参数的值修改为1

    • 若实例为标准架构:将#no_loose_sentinel-enabled参数的值修改为yes

    说明
    • 您可以在实例详情页确认实例的架构信息。

    • 集群架构直连模式使用开源Redis Cluster进行负载均衡,无需Sentinel组件,也不支持设置Sentinel参数。

  4. (可选)开启后,您可以连接实例,执行SENTINEL sentinels test命令进行测试,执行成功表示实例已开启Redis Sentinel兼容模式。

    Sentinel兼容模式不提供额外的连接地址,您可以直接通过原连接地址(例如r-********.redis.rds.aliyuncs.com:6379)进行连接。

    说明
    • 如需设置SENTINEL命令免密,您可以将#no_loose_sentinel-password-free-access参数设置为yes,使用SUBSCRIBESENTINEL命令订阅、监听+switch-master通道免密

    • 如需更多免密命令,您可以在开启上述免密参数后,通过#no_loose_sentinel-password-free-commands参数额外添加免密的命令列表。

相关API

API接口

说明

DescribeParameters

查询实例的配置参数和运行参数。

ModifyInstanceConfig

修改实例的参数配置。