检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建CCE节点池时,“节点类型”请选择“弹性云服务器-虚拟机”,“容器引擎”请选择“Docker”,“操作系统”请选择“CentOS 7.6”,并需要绑定“弹性公网IP”,选择“使用已有”或“自动创建”。 操作流程 制作客户端镜像 下载Redis客户端。 登录CCE集群节点。
maxTotal和客户端节点数(CCE容器或业务VM数量)数值的乘积要小于单个Redis实例的最大连接数。 例如:Redis主备实例配置maxClients为10000,单个客户端maxTotal配置为500,则最大客户端节点数量为20个。
maxTotal和客户端节点数(CCE容器或业务VM数量)数值的乘积要小于单个Redis实例的最大连接数。 例如:Redis主备实例配置maxClients为10000,单个客户端maxTotal配置为500,则最大客户端节点数量为20个。
使用Lettuce连接Cluster集群实例时,规格变更的异常处理 集群实例是否支持单分片扩容(垂直扩容)
Redis客户端通过CCE连接DCS 随着容器技术的普及,越来越多的应用程序部署在容器环境中。该实践介绍如何将Redis客户端部署到云容器引擎CCE的集群容器中,通过CCE连接DCS。
实例由虚机方式改成了物理机容器化部署,创建实例只需要8~10秒时间完成。 Redis 4.0版本更新的特性,主要涉及三个方面: 新命令的增加,如MEMORY、SWAPDB。 Lazyfree机制,延迟删除大key,降低删除操作对系统资源的占用影响。
本章节主要介绍通过ELB“跨VPC后端”方式公网访问单机、主备、读写分离、Proxy集群、Cluster集群单节点。 客户端通过CCE连接DCS 随着容器技术的普及,越来越多的应用程序部署在容器环境中。
主备、Proxy集群、Cluster集群和读写分离实例支持 实例类型 Redis实例类型分为单机、主备、Proxy集群、Cluster集群和读写分离,它们的架构与应用场景,请参考DCS实例类型。
Redis Cluster集群实例 DCS Redis Cluster集群实例,是原生Cluster的集群版本。Redis Cluster集群实例的特点: 兼容Redis原生Cluster集群。 继承smart client的设计方案。 相比主备,数倍性能提升。
不同编程语言如何使用Cluster集群客户端 当前DCS Cluster集群对比Proxy集群的优势和特性: 表1 Cluster集群与Proxy集群差异 对比项 Cluster集群 Proxy集群 原生兼容性 高 中 客户端兼容性 中(需要客户端开启集群模式) 高 性价比 高 中
即开即用 DCS提供单机、主备、Proxy集群、Cluster集群、读写分离类型的缓存实例,拥有从128M到2048G的丰富内存规格。您可以通过控制台直接创建,无需单独准备服务器资源。 Redis基础版实例采用容器化部署,秒级完成创建。
表1 实例规格变更明细 缓存类型 单机实例 主备实例 Cluster集群实例 Proxy集群实例 读写分离实例 Redis 3.0 支持扩容和缩容 支持扩容和缩容 - 仅支持扩容 - Redis 4.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容
主备、读写分离和Cluster集群实例 副本数变更 Cluster集群实例增加或删除副本时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。
Redis 6.0 Cluster集群实例测试数据 Redis 6.0基础版实例支持开启SSL,本章节包含开启SSL前后的Redis实例性能测试数据。
Redis 4.0/5.0 Cluster集群实例测试数据 测试环境说明 测试实例规格 Redis 4.0/5.0 32G Cluster集群 测试执行机规格 通用计算增强型 | c6.xlarge.2 | 4vCPUs | 8GB 测试工具 使用三台ECS并发测试,测试工具为memtier_benchmark
使用RedisShake工具在线迁移自建Redis Cluster集群 RedisShake是一款开源的Redis迁移工具,支持Cluster集群的在线迁移与离线迁移(备份文件导入)。DCS Cluster集群与Redis Cluster集群设计一致,数据可平滑迁移。
在线迁移Cluster集群时需要将Cluster集群各个节点数据分别迁移。
使用Cluster的Redis集群时建议配置合理的超时时间 客户端配置问题导致无法连接。 当集群实例备节点故障情况下,客户端使用SpringBoot + Lettuce的方式连接Redis,使用的Lettuce客户端在连接集群时,需要与所有节点先建立连接(包括故障节点)。
例如,3分片Cluster集群实例扩容为6分片Cluster集群实例时,节点拓扑关系和Slot对应信息变化如下图所示: 图2 Cluster集群实例扩容前 图3 Cluster集群实例扩容后 解决方案 方案一(推荐方案): 开启Cluster集群自动刷新拓扑配置。
Cluster集群实例使用内置key且跨slot的Lua脚本时迁移失败 当源实例是Cluster集群,且使用了内置key且跨slot的Lua脚本,迁移到DCS集群实例失败时,可以将目标端改为主备或读写分离实例。