检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在游戏开合服过程中,会遇到如何将不同服务器数据同步的问题。通过DCS服务Redis的消息队列pub/sub机制,可以将数据变更消息发布到Redis的频道中,其他游戏服务器订阅该频道,接收数据变更消息,从而实现数据同步。该实践介绍如何使用Redis实现不同服务器数据同步。 使用DCS实现电商秒杀功能
交换实例IP地址时,会有一分钟内只读和秒级的闪断。如果源端实例为Redis 3.0,交换IP地址时,会有一分钟内只读和30秒左右的中断。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在交换IP后有可能需要重启客户端应用。 源实例和目标实例不在同一子网时,交换IP地址后,会更新实例的子网信息。
通过同一虚拟私有云下的弹性云服务器来访问缓存实例,以确保缓存数据的安全。如果您在应用开发调试阶段,可以通过ssh代理方式,实现本地环境访问实例。 发布区域:全部 公网连接Redis 3.0实例 开启Redis 4.0/5.0/6.0公网访问并获取公网访问地址 OBS 2.0支持 安全组和白名单
VPC允许租户通过配置VPC入站IP范围,来控制连接缓存实例的IP地址段。DCS实例运行在租户独立的VPC内。租户可以创建一个跨可用区的子网组,之后可以根据业务需要,将部署DCS的高可用实例选择此子网完成,DCS在创建完实例后会为租户分配此子网的IP地址,用于缓存实例。DCS实例部署在租户VPC后,
节点、输入并查询指定的会话地址、更新查询信息、及设置会话的显示项。 图1 会话管理 表1 会话字段说明 字段 描述 ID 会话的唯一ID标识。 addr 会话地址。如果Redis开启了IP透传,该地址为客户端IP地址;如果Redis未开启IP透传,该地址为内部私网占用IP。 name
连接地址 同一VPC内客户端连接Redis缓存实例时的域名地址和端口。 单击“连接地址”后的可以修改端口。实例创建后,不支持修改连接地址。 说明: 如果是Redis 4.0、Redis 5.0和Redis 6.0主备实例,“连接地址”表示主节点的域名和端口号,“只读地址”,表示
如果目的实例为Cluster集群实例。Cluster集群实例只有1个库。 两个解决思路: 源Redis的不同DB合到同一个数据库。 申请多个DCS缓存实例。 迁移后实例连接地址和数据库编号有变化,业务注意改造和适配。 如果目的实例为Proxy集群。 Proxy集群默认不开启多DB,仅有一个DB0,请参考开启多DB
并通知使用该Redis的应用程序使用新地址进行连接。 客户端配置来源:Sentinel充当客户端服务发现的权威来源。客户端连接到Sentinel,请求当前负责特定业务的Redis主节点地址。如果发生故障切换,Sentinels将下发新地址。 DCS如何使用Sentinel Se
在线迁移实例源端报“Disconnecting timedout slave”和“overcoming of output buffer limits” 当进行在线迁移时可能会出现如下报错: 源端报“Disconnecting timedout slave”,如下图: 解决方法:
务繁忙时执行该操作。 由于主备之间数据同步采用异步机制,主备节点切换期间可能丢失少量正在操作的数据。 实例主备切换后,IP地址不变,不需要切换客户端连接地址。 前提条件 只有当DCS缓存实例处于“运行中”状态,才能执行此操作。 切换DCS实例的主备节点 登录分布式缓存服务管理控制台。
在线迁移失败的处理建议:提供错误信息,联系技术支持。 绑定port到ECS虚拟机失败 绑定port到ECS虚拟机失败的处理建议: 迁移任务底层资源可能不足,需要联系技术支持处理。 创建迁移ECS虚拟机失败 创建迁移ECS虚拟机失败的处理建议:提供错误信息,联系技术支持。 文件操作异常 文件操作异常的处理建议:
Redis实例地址(source_instance信息中填写)。 password String Redis密码,如果设置了密码,则必须填写。 task_status String 任务状态。 id String Redis实例ID。 ip String Redis IP地址。 port
Redis实例地址(source_instance信息中填写)。 password String Redis密码,如果设置了密码,则必须填写。 task_status String 任务状态。 id String Redis实例ID。 ip String Redis IP地址。 port
开启SSL后,实例的读写性能会有所下降。 开启SSL功能后,单击“下载证书”,下载SSL证书。 解压SSL证书,将解压后的“ca.crt”文件上传到Redis客户端所在的服务器上。 在连接实例的命令中配置“ca.crt”文件所在的路径。例如,使用redis-cli连接实例时,请参考使用redis-cli连接Redis实例。
对安全组设置有限的、必须的允许访问规则。 安全组与VPC均是用于网络安全访问控制的配置,以端口最少放开原则配置安全组规则,降低网络入侵风险。 客户端应用所在ECS设置防火墙。 客户端应用所在的服务器建议配置防火墙过滤规则。 设置实例访问密码。 配置实例白名单。 Redis-cli使用 隐藏密码 安全问题:通过在red
暂时性失败。 复杂的网络环境 由于客户端与Redis服务器之间复杂网络环境引起,可能出现偶发的网络抖动、数据重传等问题,此时,客户端发起的请求可能会出现暂时性失败。 复杂的硬件问题 由于客户端所在的硬件偶发性故障引起,例如虚拟机HA,磁盘时延抖动等场景,此时,客户端发起的请求可能会出现暂时性失败。
y”下慢查询记录始终为空。 只有实例开启客户端IP透传后,慢查询记录中的“客户端IP地址”才是真实的客户端IP地址。如果是Proxy集群和读写分离类型的实例,仅在“Proxy”下的客户端IP地址为真实的客户端IP。 图1 实例慢查询记录 如果需要下载慢查询记录,单击“导出”选择导出全部或选中的数据。
0基础版实例需要放通白名单的目的,是允许迁移任务底层虚拟机可以访问源Redis和目标Redis(迁移任务底层虚拟机会占用一个IP)。同样,如果是Redis 3.0/Redis 6.0企业版实例,需要配置实例安全组的入方向规则对迁移任务底层虚拟机放通。 命令 默认情况下,一般云厂商都是禁用
白名单分组名称,每个实例支持创建4个分组。 ip_list Array of strings 白名单分组下的IP列表,每个实例最多可以添加20个IP地址/地址段。如果有多个,可以用逗号分隔。不支持的IP和地址段:0.0.0.0和0.0.0.0/0。 请求示例 GET https://{dcs_endpoint}/v2
各分片节点的IP地址查询命令: redis-cli -h {Redis Cluster IP} -p 6379 -a {password} cluster nodes 返回的节点地址清单中,标记为master的节点IP地址即为Cluster集群的分片节点地址。 父主题: 数据备份/导出/迁移