检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用DCS实现游戏开合服的数据同步 该实践介绍如何使用Redis实现不同服务器数据同步。在游戏开合服过程中,会遇到如何将不同服务器数据同步的问题。通过DCS服务Redis的消息队列pub/sub机制,可以将数据变更消息发布到Redis的频道中,其他游戏服务器订阅该频道,接收数据变更消息,从而实现数据同步。
s实例的操作请参考购买Redis实例。 查看并获取待连接Redis实例的IP地址/域名和端口。具体步骤请参见查看和修改DCS实例基本信息。 已创建弹性云服务器,创建弹性云服务器的方法,请参见购买弹性云服务器。 连接实例前确保客户端与Redis实例之间网络互通,具体请参考连接Redis网络要求。
例的数据迁移到高版本实例上。 图1 Redis单机实例示意图 示意图说明: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 客户应用 运行在ECS上的客户应用程序,即实例的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户指南的连接缓存实例。
0主备实例架构,如图1所示。 图1 Redis 3.0主备实例示意图 示意图说明: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 客户应用 运行在ECS上的客户应用程序,即Redis的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客
行SET或GET时的性能。 测试步骤 创建Redis缓存实例。 创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。 如果是测试单机或主备实例,创建1台ECS即可。 在每台ECS上安装memtier_benchmark。以操作系统为CentOS 8.0为例进行安装。
配置在线迁移任务虚拟机资源的VPC、子网和安全组。 请选择与目标Redis相同的VPC,确保迁移资源能访问目标Redis实例。 创建的在线迁移任务会占用一个租户侧IP,即控制台上迁移任务对应的“迁移IP”。如果源端Redis或目标端Redis配置了白名单,需确保配置了迁移IP或关闭白名单限制。
0公网访问并获取公网访问地址。 客户端所在的服务器已安装JDK1.8以上版本和开发工具(本文档以安装Eclipse为例),下载jedis客户端(单击此处直接下载jar包)。 本文档下载的开发工具和客户端仅为示例,您可以选择其它类型的工具和客户端。 实施步骤 在服务器上运行Eclipse,创建一个java
配置在线迁移任务虚拟机资源的VPC、子网和安全组。 请选择与目标Redis相同的VPC,确保迁移资源能访问目标Redis实例。 创建的在线迁移任务会占用一个租户侧IP,即控制台上迁移任务对应的“迁移IP”。如果源端Redis或目标端Redis配置了白名单,需确保配置了迁移IP或关闭白名单限制。
)管理各服务的网络安全,用户创建的DCS缓存实例,只允许被与实例网络互通的虚拟私有云的弹性云服务器访问。 用户可以通过网络代理转发的方式,用一台能与DCS缓存实例网络互通的弹性云服务器(ECS)做中转,实现本地环境连接DCS缓存实例。具体操作参考使用SSH隧道代理机制实现公网访问DCS实例。
已成功创建Redis实例,且状态为“运行中”。创建Redis实例的操作请参考购买Redis实例。 已创建弹性云服务器,创建弹性云服务器的方法,请参见购买弹性云服务器。 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。 连接实例前确保客户端与Redis实例之间网络互通,具体请参考连接Redis网络要求。
和客户端。 实施步骤 登录MySQL数据库所在服务器。 在MySQL数据库所在服务器安装Redis客户端用来进行数据的提取、传输和转换。安装Redis客户端请参考安装Redis客户端。 分析源端数据结构,在MySQL数据库所在服务器中创建如下的迁移脚本,保存文件名为migrate
Redis实例 测量维度: dcs_instance_id 1分钟 used_memory_peak 已用内存峰值 该指标用于统计Redis服务器启动以来使用内存的峰值。 单位:可在控制台进行选择,如KB、MB、byte等。 >=0byte 测量对象: Redis实例 测量维度: dcs_instance_id
ool。创建方式请参考创建节点池。 创建CCE节点池时,“节点类型”请选择“弹性云服务器-虚拟机”,“容器引擎”请选择“Docker”,“操作系统”请选择“CentOS 7.6”,并需要绑定“弹性公网IP”,选择“使用已有”或“自动创建”。 操作流程 制作客户端镜像 下载Redis客户端。
暂时性失败。 复杂的网络环境 由于客户端与Redis服务器之间复杂网络环境引起,可能出现偶发的网络抖动、数据重传等问题,此时,客户端发起的请求可能会出现暂时性失败。 复杂的硬件问题 由于客户端所在的硬件偶发性故障引起,例如虚拟机HA,磁盘时延抖动等场景,此时,客户端发起的请求可能会出现暂时性失败。
力,否则在变更规格后可能需要重启客户端应用。 垂直扩容(分片数不变,分片容量增加): 如果节点所在的虚拟机内存容量不足,会发生节点迁移,迁移时业务连接会有闪断和只读。 如果虚拟机内存容量充足,则直接扩大节点容量,对业务无影响。 说明: Redis 3.0版本集群实例不支持垂直扩缩容。
时,使用ziplist编码格式,节约内存。 1~10000 64 5 list-max-ziplist-entries Redis Interger 当列表中记录数少于参数值,使用ziplist编码格式,节约内存。 1~10000 512 6 list-max-ziplist-value
enable_publicip Boolean 否 Redis缓存实例是否开启公网访问功能。 true:开启 false:不开启 publicip_id String 否 Redis缓存实例绑定的弹性IP地址的id。 如果开启了公网访问功能(即enable_publicip为true),该字段为必选。
RENAMENX SCAN Proxy集群实例不支持在pipeline中使用SCAN命令。 Proxy集群SCAN命令支持指定分片:在命令后面添加 ip:port。(执行icluster nodes命令可以查询不同分片的IP地址及端口。) 如果执行SCAN命令指定分片未能返回需要
d} 示例1: { "description": "instance description" } 示例2: { "name": "dcs002", "description": "instance description", "instance_backup_policy":
建的DCS缓存实例,必须通过与DCS缓存实例相同虚拟私有云(VPC)的弹性云服务器(ECS)来访问。 如果您在应用开发调试阶段,可以通过网络代理转发的方式,用一台能与DCS缓存实例网络互通的弹性云服务器(ECS)做中转,实现本地环境连接DCS缓存实例。具体操作参考使用SSH隧道代理机制实现公网访问DCS实例。