检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
该实践介绍如何使用Redis实现不同服务器数据同步。在游戏开合服过程中,会遇到如何将不同服务器数据同步的问题。通过DCS服务Redis的消息队列pub/sub机制,可以将数据变更消息发布到Redis的频道中,其他游戏服务器订阅该频道,接收数据变更消息,从而实现数据同步。 使用DCS实现电商秒杀功能 本章节介绍在电商秒杀场景中,利用DCS
手动备份Redis 3.0源实例数据。备份数据的操作,请参考如何导出Redis实例数据?。 迁移实例数据 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择源Redis所在的区域。 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。 单击右上角的“创建在线迁移任务”。 设置迁移任务名称和描述。
手动备份Redis 3.0源实例数据。备份数据的操作,请参考如何导出Redis实例数据?。 迁移实例数据 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择源Redis所在的区域。 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。 单击右上角的“创建在线迁移任务”。 设置迁移任务名称和描述。
get hello;done 其中10.0.0.0为DCS实例的IP地址,6379为DCS实例的端口号,DCS instance password为DCS实例的密码,hello为在通过Web Cli连接Redis时SET的数据名,请根据实际值替换。 图6 配置生命周期 创建后,工作负
具体使用请参考:公网连接Redis3.0实例以及Stunnel工具的使用 免密访问 缓存实例支持不设置密码,在VPC内直接连接实例进行数据读写。由于不涉及密码鉴权,数据读写延时会更低。 对于实例数据敏感性一般的业务,您可以对实例开启免密访问。出于数据安全考虑,公网访问的实例不允许同时开启免密访问。 具体使用
Redis实例中key的数量 keys.bytes-per-key 每个key平均占用字节数。注意,overhead也会均摊到每个key上,因此不能以此值来表示业务实际的key平均长度。 dataset.bytes 表示Redis数据占用的内存容量。即分配的内存总量,减去总的额外开销内存量。
peline不要使用过多的命令。 由于Redis集群架构本身具有一定限制,例如不支持在单个命令中访问跨Slot的Key、当访问到不属于本节点的数据时会产生-MOVED错误等,请在集群架构中使用Pipeline时,确保Pipeline内部的命令符合集群架构的可执行条件,具体限制请参见实例受限使用命令。
Proxy节点监控是对实例中每个Proxy节点的监控。 Proxy集群 支持 实例监控是对集群所有主节点数据汇总后的监控。 支持 数据节点监控是对集群每个分片的监控。 支持 Proxy节点监控是对集群每个Proxy节点的监控。 Cluster集群 支持 实例监控是对集群所有主节点数据汇总后的监控。 支持 数据节点监控是对集群每个分片的监控。
在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。 单击需要使用的其中一个Memcached实例的名称,进入该Memcached实例的基本信息页面。查看并获取该Memcached实例的IP地址/域名和端口。 将已获取的spymemcached-x
String 热key所在的分片,仅在实例类型为集群时支持,格式为ip:port。 db Integer 热key所在的DB。 size Long Key的value大小。 unit String 表示key的单位。count:key的数量,byte:key的大小。 freq Integer
客户端根据RESP2协议的内容,启动后从Cluster集群获取节点拓扑信息(Cluster Nodes),并将其拓扑关系维护在客户端的内存数据结构中。 对于数据访问,客户端会根据Key值按照CRC16算法进行Hash计算Slot信息,根据内存中保存的节点拓扑关系和Slot的对应信息进行请求自动路由。
不建议在生产环境中使用公网访问的方式,对于因公网网络性能造成的客户端访问异常不计入SLA。 购买一台ECS 确认Redis实例所在的虚拟私有云。 如下图所示,已购买了一个虚拟私有云在“vpc-demo”内的主备实例。 图2 Redis缓存实例信息 购买一台同在“vpc-demo”的ECS,并为其绑定一个弹性公网IP,按需选择带宽。
实例版本 DCS目前支持的Redis版本为:Redis 3.0(已停售)、Redis 4.0、Redis 5.0、Redis 6.0和Redis 7.0(公测)。 Redis实例创建后,不支持直接升级实例版本,可以通过数据迁移的方式将低版本实例中的数据迁移到高版本。 数据安全 Redis
您可以查看监控指标“流控次数”,统计周期内被流控的次数,确认带宽是否已经达到上限。 然后,检查实例是否有大Key和热Key,如果存在大Key或者单个Key负载过大,容易造成对于单个Key的操作占用带宽资源过高。大Key和热Key操作,请参考分析实例大Key和热Key。 Redis 4.0及之后版本的实例,支持通过
请确保业务侧不依赖主从同步的时延,如果对主从同步时延有依赖的场景,不适用读写分离实例,请考虑普通主备或集群。 主备读写分离实例适用于写少读多的场景,如果写流量过大,可能导致主从断连,或断连后主从同步失败,导致读请求性能下降。 写流量大的场景请考虑普通主备或集群 。 从节点故障后,需要一定的时间从主
是否支持 add 新增数据 是 set 设置数据,主要包括新增或者修改数据 是 replace 更新数据 是 append 向指定key的value末尾追加数据 是 prepend 向指定key的value头部追加数据 是 cas 检查并修改数据 是 get 查询数据 是 gets 查询数据详细信息
dis主备实例。当分片上的主节点故障时,该分片上的连接会有秒级中断、不可用,备节点在15秒到30秒内自动完成主备切换,单分片故障仅影响该分片上的数据访问,不影响其他分片上的数据访问。 Redis集群单分片主节点故障时,主备切换完成后,该分片原主节点(已切换为从节点)因故障不会立刻
删除DCS实例的权限策略,控制他们对DCS资源的使用范围。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用DCS服务的其它功能。 IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关
应对高峰期的需求,避免资源紧张。 数据安全要求高:对于对数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。 计费周期 包年/包月DCS缓存实例的计费周期是根据您购买的时长来确定的(以GMT+8时间为准)。一个计费周期的起点是您开
缓存更新:后端服务器会更新缓存中的商品库存信息,以便处理下一次秒杀请求。 秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,会导致数据库访问阻塞。 解决方案 利用分布式缓存服务(DCS)的Redis作为数据库的缓存,客户端访问Re