检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
器运行在两个不同的Java虚拟机中,每个机器加的锁不是同一个,不同的锁只对属于自己Java虚拟机里面的线程有效,对其他Java虚拟机的线程无效。通过DCS服务Redis可以实现分布式加锁,对热点资源进行顺序访问控制,避免出现库存超卖及无序访问等现象。该实践介绍如何使用Redis对分布式应用加锁。
当监控指标中出现“已拒绝的连接数”时,请确认客户端连接数是否已经超过实例的最大连接数限制。 Redis 4.0/5.0/6.0版本的实例,仅在主备、集群和读写分离实例的数据节点中支持查看“已拒绝的连接数”。 查看最大连接数:单击实例名称,进入实例详情页面,选择“配置参数”页签,查看maxclients参数的值(读
虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 客户应用 运行在ECS上的客户应用程序,即实例的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户指南的连接缓存实例。 DCS缓存实例 DCS实例,单机实例只有1个节点,1个Redis进程。
“虚拟私有云”和“子网”请选择所创建的VPC(vpc-test)及其子网2。 创建CCE节点池,例如cce-test-nodepool。创建方式请参考创建节点池。 创建CCE节点池时,“节点类型”请选择“弹性云服务器-虚拟机”,“容器引擎”请选择“Docker”,“操作系统”请选择“CentOS
支持通过在线迁移的方式,将源端的自建Redis数据全量或增量迁移到DCS目标Redis中。 在线迁移,相当于临时给源端Redis增加一个从节点并且做一次全量同步到迁移机,建议在业务低峰期执行迁移,否则可能导致源端实例CPU瞬时冲高,时延增大。 约束与限制 如果源Redis禁用了S
应用。 源实例和目标实例不在同一子网时,交换IP地址后,会更新实例的子网信息。 如果源端是主备实例,交换IP时不会交换备节点IP,请确保应用中没有直接引用备节点IP。 如果应用中有直接引用域名,请选择交换域名,否则域名会挂在源实例中。 请确保目标Redis和源Redis密码一致,
持通过在线迁移的方式,将其他云厂商的Redis数据全量或增量迁移到DCS目标Redis中。 在线迁移,相当于临时给源端Redis增加一个从节点并且做一次全量同步到迁移机,建议在业务低峰期执行迁移,否则可能导致源端实例CPU瞬时冲高,时延增大。 约束与限制 如果源Redis禁用了S
服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完
端配置读写分离,降低对主节点的影响。还可以增加多个副本以满足读需求,但是备机较多也有相应的影响,DCS主备节点之间使用的是星型复制,即所有的备节点都直接和主节点保持同步,这样能保证备节点之间相互独立,且复制延迟较小。缺点是在备节点数量较多的情况下,主节点的CPU和网络负载会较高。
数据节点监控分别是对主节点和备节点的监控。 支持 Proxy节点监控是对实例中每个Proxy节点的监控。 Proxy集群 支持 实例监控是对集群所有主节点数据汇总后的监控。 支持 数据节点监控是对集群每个分片的监控。 支持 Proxy节点监控是对集群每个Proxy节点的监控。 Cluster集群
监控:Sentinel不间断地检查主从节点是否都在正常工作。 通知:如果Redis中某节点故障,Sentinel可以通过API通知系统管理员或其他计算机程序。 自动故障切换:如果主节点异常,Sentinel启动故障切换,将一个从节点升主,其他从节点从新的主节点进行复制,并通知使用该Redis的应用程序使用新地址进行连接。
备份过程对实例的影响 备份操作是在备节点执行,备份期间不影响实例正常对外提供服务。 在主备节点全量数据同步或者实例高负载的场景下,数据同步需要一定的时间,在数据同步没有完成的情况下开始备份,备份数据与主节点最新数据相比,有一定延迟。 在实例备节点进行备份期间,如果主节点有新的数据写入,备份文件不会包含备份期间的数据变化。
数据不仅会持久化到实例主节点磁盘,还会增量同步到备节点,同时备节点也会持久化一份数据。实现了节点热备和持久化文件多个备份。 主备、读写分离实例的主备节点进程,以及集群实例每个分片内主备节点进程的数据同步和持久化方式如下图所示。 图3 单可用区内主备节点间高可用 实例单Region跨可用区灾备
2048GB 128 无中心架构 Redis Cluster的任意节点都可以接收请求,但节点会将请求发送到正确的节点上执行,同时,每一个节点也是主从结构,默认包含一个主节点和一个从节点,由Redis Cluster根据选举算法决定节点主从属性。 图1 Redis Cluster无中心架构 数据预分片
如果是实例级别的网络瞬时输入流量,所有节点输入数据流量汇总后展示。 如果是节点级别,统计的是本节点的输入数据流量。 网络瞬时输出流量 该指标用于统计瞬时的输出数据流量。 如果是实例级别的网络瞬时输出流量,所有节点输出数据流量汇总后展示。 如果是节点级别,统计的是本节点的输出数据流量。 带宽使用率
分片与副本 设置备节点优先级 域名摘除IP 查询分片信息 批量查询实例节点信息 查询实例节点信息 获取副本状态 父主题: API V2(推荐)
应用进行相关的演练。 监控实践 关注Redis负载,在过载前提前扩容。 根据告警基线配置告警:配置节点cpu、内存、带宽等告警。 日常巡检 例行检查各个节点的内存使用率,查看主节点内存使用率是否有不均衡的状态。 内存使用率不均衡说明存在大Key问题,需要进行大Key拆分及优化。
参考配置告警配置节点级别的内存利用率监控指标的告警。 如果某个节点存在大key,这个节点比其他节点内存使用率高很多,会触发告警,便于您发现潜在的大key。 参考配置告警配置节点级别的入网最大带宽、出网最大带宽、CPU利用率监控指标的告警。 如果某个节点存在热key,这个节点的带宽占用、
不支持的Redis命令,请参考开源命令兼容性。 Cluster集群实例受限使用的命令请参考实例受限使用的Redis命令。 副本数 单机实例为单副本,只有一个节点。 主备和读写分离实例默认为双副本,默认为一主一从的架构。 在创建Redis主备和读写分离实例时,支持自定义副本数,形成一主多从的架构。 目前Redis
配置参数的操作请参考修改DCS实例配置参数。 Redis实例是否支持开启主节点不持久化,仅从节点持久化 DCS Redis 4.0/5.0/6.0基础版的主备和集群实例、企业版高性能型主备实例,可以通过将实例参数appendonly设置为only-replica,开启实例仅从节点持久化。 其他版本和实例类型暂不支持该特性。