• 沒有找到結果。

典型应用场景_分布式缓存服务 DCS_产品介绍_华为云

N/A
N/A
Protected

Academic year: 2022

Share "典型应用场景_分布式缓存服务 DCS_产品介绍_华为云"

Copied!
113
0
0

加載中.... (立即查看全文)

全文

(1)

分布式缓存服务

产品介绍

文档版本 01

发布日期 2022-02-09

(2)

版权所有 © 华为技术有限公司 2022。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

(3)

目 录

1 分布式缓存服务是什么?...1

2 典型应用场景... 6

3 实例类型...8

3.1 Redis 单机实例... 8

3.2 Redis 主备实例...10

3.3 Redis Proxy 集群实例...12

3.4 Redis Cluster 集群实例...17

3.5 读写分离实例...19

3.6 Redis 实例类型差异... 21

3.7 Memcached 单机实例(即将下线)... 23

3.8 Memcached 主备实例(即将下线)... 25

4 实例规格...27

4.1 Redis 3.0 实例... 27

4.2 Redis 4.0/5.0 实例...29

4.3 Redis 6.0 实例(公测阶段)... 42

4.4 Memcached 实例(即将下线)... 43

5 开源命令兼容性... 46

5.1 Redis 3.0 命令... 46

5.2 Redis 4.0 命令... 50

5.3 Redis 5.0 命令... 59

5.4 Redis 6.0 命令(公测阶段)... 69

5.5 Web CLI 命令... 72

5.6 Memcached 命令(即将下线)... 76

5.7 实例受限使用命令... 79

5.8 部分命令使用限制... 85

6 容灾和多活策略... 87

7 Redis 版本差异...91

8 Redis 与 Memcached 差异... 93

9 图解华为云 Redis 与开源服务的差异...95

10 与开源服务的差异...96

产品介绍 目 录

(4)

11 约束与限制... 99

12 计费说明... 100

13 权限管理... 102

14 基本概念... 106

15 与其他服务的关系...108

产品介绍 目 录

(5)

1 分布式缓存服务是什么?

分布式缓存服务(Distributed Cache Service,简称DCS)是华为云提供的一款内存数 据库服务,兼容了Redis和Memcached两种内存数据库引擎,为您提供即开即用、安 全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访 问的业务诉求。

● 即开即用

DCS提供单机、主备、Proxy集群、Cluster集群、读写分离等类型的缓存实例,拥 有从128M到1024G的丰富内存规格。您可以通过控制台直接创建,无需单独准备 服务器资源。

其中Redis 4.0、Redis 5.0和Redis 6.0版本采用容器化部署,秒级完成创建。

● 安全可靠

借助华为云统一身份认证、虚拟私有云、云监控与云审计等安全管理服务,全方 位保护实例数据的存储与访问。

灵活的容灾策略,主备/集群实例从单AZ(可用区)内部署,到支持跨AZ部署。

● 弹性伸缩

DCS提供对实例内存规格的在线扩容与缩容服务,帮助您实现基于实际业务量的 成本控制,达到按需使用的目标。

● 便捷管理

可视化Web管理界面,在线完成实例重启、参数修改、数据备份恢复等操作。

DCS还提供基于RESTful的管理API,方便您进一步实现实例自动化管理。

● 在线迁移

提供可视化Web界面迁移功能,支持备份文件导入和在线迁移两种方式,您可以 通过控制台直接创建迁移任务,提高迁移效率。

关于缓存引擎的选型参考,可以参考本手册的Redis与Memcached差异章节内容。

DCS Redis

DCS Redis当前支持的Redis版本为Redis 3.0、Redis 4.0、Redis 5.0和Redis 6.0。

● 华为云DCS Redis 3.0、4.0及5.0。

说明

DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

产品介绍 1 分布式缓存服务是什么?

(6)

Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布 或订阅、高速队列等典型应用场景。Redis使用ANSI C语言编写,提供字符串

(String)、哈希(Hash)、列表(List)、集合结构(Set、 Sorted_Set )、

流(Stream)等数据类型的直接存取。数据读写基于内存,同时可持久化到磁 盘。

DCS Redis拥有灵活的实例配置供您选择:

1-1 DCS Redis 灵活的实例配置

实例类型 提供单机、主备、Proxy集群、Cluster集群、读写分离等类型,分 别适配不同的业务场景。

单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务 场景。单机实例支持读写高并发,但不做持久化,实例重启后原有 缓存数据不会加载。

主备:包含一个主节点,一个或多个备节点,主备节点的数据通过 实时复制保持一致,当主节点故障后,备节点自动升级为主节点。

同时用户可通过读写分离技术,在主节点上写,从备节点读,从而 提升缓存的整体读写性能。

Proxy集群:在Cluster集群的基础上,增加挂载Proxy节点和ELB节 点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,实 现客户端高并发请求。每个Cluster集群分片是一个双副本的主备实 例,当主节点故障后,同一分片中的备节点会升级为主节点来继续 提供服务。

Cluster集群:通过分片化分区来增加缓存的容量和并发连接数,每 个分片是一个主节点和0到多个备节点,分片本身对外不可见。分 片中主节点故障后,同一分片中备节点会升级为主节点来继续提供 服务。用户可通过读写分离技术,在主节点上写,从备节点读,从 而提升缓存的整体读写能力。

读写分离:在主备实例的基础上,增加挂载Proxy节点和ELB节点,

通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,Proxy 节点识别用户读写请求,将请求发送到主节点或备节点,从而实现 读写分离。

规格 Redis提供128MB~1024G的多种规格。

兼容开源Redis版本 DCS提供不同的实例版本,分别兼容开源Redis的3.0、4.0、5.0、

6.0。

底层架构 基于虚拟机的标准版,单节点QPS达10万/秒。

高可用与

容灾 除单机实例外,其他类型的实例都提供Region内的跨可用区部署,

实现实例内部节点间的电力、网络层面物理隔离。

有关开源Redis技术细节,您可以访问Redis官方网站https://redis.io/了解。

● 华为云DCS Redis 6.0(公测阶段)。

产品介绍 1 分布式缓存服务是什么?

(7)

说明

Redis 6.0目前处于公测阶段,可通过登录分布式缓存服务控制台,在购买缓存实例界面,

单击“立即申请”申请公测权限,如下图。

华为云DCS Redis当前支持多线程高性能版。

多线程高性能版基于开源社区KeyDB开发,KeyDB是Redis的高性能分支,专注于 多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具有仅在Redis Enterprise中可用的功能。KeyDB与Redis协议,模块和脚本保持完全兼容性。这 包括脚本和事务的原子性保证。由于KeyDB与Redis开发保持同步,因此KeyDB是 Redis功能的超集,从而使KeyDB取代了现有Redis部署。在相同的硬件上,KeyDB 每秒可以执行的查询数量是Redis的两倍,而延迟却降低了60%。Active-

Replication简化了热备用故障转移,使您可以轻松地在副本上分配写操作并使用 基于TCP的简单负载平衡/故障转移。KeyDB的高性能可让您在更少的硬件上做更 多的事情,从而降低了运营成本和复杂性。

开源KeyDB的io和event loop都是多线程,相比于开源Redis,增加了subkey过 期、多master、嵌套hash和Lua Cron等特性。

多线程高性能版,适用于对单节点性能有超高要求的用户,比如互联网热点事 件、大咖直播等高并发访问场景。Redis 6.0之前版本,通常受到慢请求单线程处 理的制约,任何一个慢请求的出现都会带来其它用户请求的延时。Redis多线程高 性能版对从IO到后端事件处理的全流程,进行了多线程并行优化;通过公平自旋 锁实现多线程高效访问缓存数据;通过优化Key逐出算法,提升逐出效率1倍以 上;通过支持SubKey过期提高了大Key读写性能。

DCS Redis拥有灵活的实例配置供您选择:

产品介绍 1 分布式缓存服务是什么?

(8)

1-2 DCS Redis 灵活的实例配置

实例类型 提供单机、主备、Proxy集群、Cluster集群、读写分离等类型,分 别适配不同的业务场景。

单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务 场景。单机实例支持读写高并发,但不做持久化,实例重启后原有 缓存数据不会加载。

主备:包含一个主节点,一个或多个备节点,主备节点的数据通过 实时复制保持一致,当主节点故障后,备节点自动升级为主节点。

同时用户可通过读写分离技术,在主节点上写,从备节点读,从而 提升缓存的整体读写性能。

Proxy集群:在Cluster集群的基础上,增加挂载Proxy节点和ELB节 点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,实 现客户端高并发请求。每个Cluster集群分片是一个双副本的主备实 例,当主节点故障后,同一分片中的备节点会升级为主节点来继续 提供服务。

Cluster集群:通过分片化分区来增加缓存的容量和并发连接数,每 个分片是一个主节点和0到多个备节点,分片本身对外不可见。分 片中主节点故障后,同一分片中备节点会升级为主节点来继续提供 服务。用户可通过读写分离技术,在主节点上写,从备节点读,从 而提升缓存的整体读写能力。

读写分离:在主备实例的基础上,增加挂载Proxy节点和ELB节点,

通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,Proxy 节点识别用户读写请求,将请求发送到主节点或备节点,从而实现 读写分离。

规格 Redis提供4GB、8GB、16GB、32GB、64GB多种规格。

兼容开源KeyDB版 本

兼容开源KeyDB 6.0.16版本。

底层架构 基于虚拟机的标准版,单节点QPS达30万/秒。

高可用与 容灾

除单机实例外,其他类型的实例都提供Region内的跨可用区部署,

实现实例内部节点间的电力、网络层面物理隔离。

有关开源KeyDB技术细节,您可以访问KeyDB官方网站https://keydb.dev/了解。

说明

华为Redis 6.0实例类型暂只支持主备实例。

DCS Memcached(即将下线)

说明

DCS Memcached即将下线,部分Region已暂停售卖,建议使用Redis 4.0/5.0。

Memcached是一种内存Key-Value缓存系统,它支持简单字符串数据的存取,通常作 为后端数据库内容缓存,以提升web的应用性能,降低对后端数据库的性能依赖,具 体了解请参考Memcached典型应用场景。

产品介绍 1 分布式缓存服务是什么?

(9)

DCS全面兼容Memcached协议并增强实现了双机热备和数据持久化。

1-3 DCS Memcached 灵活的实例配置

实例类型 提供单机、主备两种类型,分别适配不同的业务场景。

单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务场 景。单机实例支持读写高并发,但不做持久化,实例重启后原有缓存 数据不会加载。

主备:包含一个主节点和一个备节点,主备节点的数据通过实时复制 保持一致,备节点对用户不可见且不能直接读写数据,当主节点故障 后,备节点自动升级为主节点。

内存规格 单机和主备实例均提供2G、4G、8G、16G、32G、64G共6种内存规 格。

高可用与 容灾

主备实例提供Region内的跨可用区部署,实现实例内部节点间的电 力、网络层面物理隔离。

有关开源Memcached技术细节,您可以访问Memcached官方网站https://

memcached.org/

产品介绍视频

关于分布式缓存服务的产品介绍,请单击以下链接观看视频。

分布式缓存服务产品介绍视频

产品介绍 1 分布式缓存服务是什么?

(10)

2 典型应用场景

Redis 应用场景

很多大型电商网站、视频直播和游戏应用等,存在大规模数据访问,对数据查询效率 要求高,且数据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传 统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管 理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成 为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。

以下举几个典型样例:

1. (电商网站)秒杀抢购

电商网站的商品类目、推荐系统以及秒杀抢购活动,适宜使用Redis缓存数据库。

例如秒杀抢购活动,并发高,对于传统关系型数据库来说访问压力大,需要较高 的硬件配置(如磁盘IO)支撑。Redis数据库,单节点QPS支撑能达到10万,轻松 应对秒杀并发。实现秒杀和数据加锁的命令简单,使用SET、GET、DEL、RPUSH 等命令即可。

加锁部分,可参考最佳实践:使用DCS实现分布式锁 2. (视频直播)消息弹幕

直播间的在线用户列表,礼物排行榜,弹幕消息等信息,都适合使用Redis中的 SortedSet结构进行存储。

例如弹幕消息,可使用ZREVRANGEBYSCORE排序返回,在Redis 5.0中,新增了 zpopmax,zpopmin命令,更加方便消息处理。

3. (游戏应用)游戏排行榜

在线游戏一般涉及排行榜实时展现,比如列出当前得分最高的10个用户。使用 Redis的有序集合存储用户排行榜非常合适,有序集合使用非常简单,提供多达20 个操作集合的命令。

可参考最佳实践:使用DCS实现排行榜功能 4. (社交APP)返回最新评论/回复

在web类应用中,常有“最新评论”之类的查询,如果使用关系型数据库,往往 涉及到按评论时间逆排序,随着评论越来越多,排序效率越来越低,且并发频 繁。

使用Redis的List(链表),例如存储最新1000条评论,当请求的评论数在这个范 围,就不需要访问磁盘数据库,直接从缓存中返回,减少数据库压力的同时,提 升APP的响应速度。

产品介绍 2 典型应用场景

(11)

Memcached 典型应用场景

Memcached主要存储字符串类的简单key-value数据。

1. 静态页面缓存。

Web页面的内容片段,包括HTML,CSS和图片等静态数据,内容修改操作少,读 取频繁,可以缓存到DCS Memcached实例,提高网站的访问性能。

2. 数据库前端缓存。

在动态系统中存在对大量数据读多写少的场景,如社交、博客网站大量查询用户 信息、好友信息、文章信息等。为了减少磁盘数据库负载,提升性能,这些经常 需要从数据库读取的数据,可以缓存在Memcached中。

适宜缓存的数据主要有:

– 经常被读取,实时性要求不高,且可以自动过期的数据。

例如网站首页最新文章列表、某某排行等数据,虽然新数据不断产生,但对 用户体验影响比较小。这类数据可使用典型的缓存策略,设置合理的过期时 间,当数据过期以后再从数据库中读取。为了让编辑或者其它人员能马上看 到效果,可以再定一个缓存清除/刷新策略。

– 经常被读取并且实时性要求强的数据。

比如用户的好友列表,用户文章列表,用户阅读记录等。这类数据首先被载 入到Memcached中,当发生更改(添加、修改、删除)时就刷新缓存数据。

3. 秒杀功能。

商品下单操作,牵涉数据库读取,写入订单,更改库存,及事务一致性要求, 对 于使用传统型数据库的平台来说,秒杀活动阶段要避免订单创建后库存缺货,同 时提供流畅的用户体验,压力巨大。

可以利用Memcached的incr/decr功能, 在内存中存储商品的库存量, 秒杀的抢 单过程主要在内存中完成,速度非常快,抢单成功即得一个订单号,这时再去支 付页面完成订单的后续操作。

说明

不适用Memcached的应用场景:

● 单个缓存对象大于1M

Memcached单个缓存对象的value值不能超过1M。超过1M的场景,建议使用Redis。

● Key的长度大于250字符

如确需使用Memcached,可将key先进行md5,得到散列值,然后存储key对应的散列值。

● 业务需要保证数据高可靠

开源Memcached不支持持久化数据,无法存副本、备份以及数据迁移。

注意:DCS的Memcached主备版本实现了数据持久化,具体可联系技术支持。

● 对数据结构和处理有高级要求

Memcached只支持key-value简单结构,不支持链表、集合等高级数据结构以及排序等一系 列复杂操作。

产品介绍 2 典型应用场景

(12)

3 实例类型

3.1 Redis 单机实例

DCS Redis单机实例有三个版本选择,Redis 3.0、Redis 4.0和Redis 5.0。

说明

● DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

● 不支持Redis版本的升级,例如,不支持Redis 3.0单机升级为Redis 4.0/5.0单机实例。如果需 要使用高版本Redis单机实例,建议重新创建高版本Redis单机实例,然后将原有Redis实例的 数据迁移到高版本实例上。

单机实例特点

1. 系统资源消耗低,支持高QPS

单机实例不涉及数据同步、数据持久化所需消耗的系统开销,因此能够支撑更高 的并发。Redis单机实例QPS达到10万以上。

2. 进程监控,故障后自动恢复

DCS部署了业务高可用探测,单机实例故障后,30秒内会重启一个新的进程,恢 复业务。

3. 即开即用,数据不做持久化

单机实例开启后不涉及数据加载,即开即用。如果服务QPS较高,可以考虑进行 数据预热,避免给后端数据库产生较大的并发冲击。

4. 低成本,适用于开发测试

单机实例各种规格的成本相对主备减少40%以上。适用于开发、测试环境搭建。

总体说来,单机实例支持读写高并发,但不做持久化,实例重启时不保存原有数据。

单机实例主要服务于数据不需要由缓存实例做持久化的业务场景,如数据库前端缓 存,用以提升数据读取效率,减轻后端并发压力。当缓存中查询不到数据,可穿透至 磁盘数据库中获取,同时,重启服务/缓存实例时,可从磁盘数据库中获取数据进行预 热,降低后端服务在启动初期的压力。

实例架构设计

DCS的Redis单机实例架构,如图3-1所示。

产品介绍 3 实例类型

(13)

说明

Redis 3.0不支持定义端口,端口固定为6379,Redis 4.0和Redis 5.0支持定义端口,如果不自定 义端口,则使用默认端口6379。以下图中以默认端口6379为例,如果已自定义端口,请根据实 际情况替换。

3-1 Redis 单机实例示意图

示意图说明:

VPC

虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。

说明

VPC内访问,客户端需要与实例处于相同VPC,并且配置安全组访问规则。

Redis 3.0单机实例除了VPC内访问,还支持公网访问,客户端可以部署在外部网络,并通 过实例绑定的弹性公网ip地址访问Redis实例。Redis 4.0和5.0暂不支持公网访问。

相关参考:公网连接Redis3.0实例,如何选择和配置Redis实例以及客户端的安全组。

● 客户应用

运行在ECS上的客户应用程序,即实例的客户端。

Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连 接示例,请参考用户指南的连接缓存实例。

DCS缓存实例

DCS实例,单机实例只有1个节点,1个Redis进程。

DCS实时探测实例可用性,当Redis进程故障后,DCS为实例重新拉起一个新的 Redis进程,且该操作秒级完成,恢复业务。

产品介绍 3 实例类型

(14)

3.2 Redis 主备实例

DCS Redis、Memcached两种缓存类型都支持主备实例,本章节主要介绍Redis缓存类 型的主备实例,其版本有:Redis 3.0、Redis 4.0、Redis 5.0和Redis 6.0。

其中,Redis 3.0和Redis 6.0主备实例不支持读写分离,Redis 4.0、Redis 5.0主备实例 默认支持读写分离,主备读写分离连接操作,请参考连接读写分离实例。

说明

● DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

● 不支持Redis版本的升级,例如,不支持Redis 3.0主备升级为Redis 4.0/5.0主备实例。如果需 要使用高版本Redis主备实例,建议重新创建高版本Redis主备实例,然后将原有Redis实例的 数据迁移到高版本实例上。

主备实例特点

DCS的主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。

主备实例具有以下特性:

1. 持久化,确保数据高可靠

实例包含一个主节点和一个备节点,都默认开启数据持久化。

Redis 3.0主备实例的备节点对用户不可见,不支持客户端直接读写数据。

Redis 4.0和Redis 5.0主备实例的备节点对用户可见,用户可以通过只读地址连接 到备节点上读取数据。

Redis 6.0主备实例的备节点对用户可见,用户可以通过只读地址连接到备节点上 读取数据。

2. 数据同步

主备节点通过增量数据同步的方式保持缓存数据一致。

说明

当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据 一致性。

3. 故障后自动切换主节点,服务高可用

当主节点故障后,连接会有秒级中断、不可用,备节点在30秒内自动完成主备切 换,切换完成后恢复正常访问,无需用户操作,保证业务平稳运行。

4. 多种容灾策略

跨AZ部署(可用区):DCS支持将主备实例部署在不同的AZ内,节点间电力与网 络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高 可用。

5. 读写分离

Redis 4.0和Redis 5.0主备实例支持客户端读写分离,分别提供可读写的连接地址

(主节点)和只读地址(备节点),客户端连接时,可分别选择主节点或备节 点。

Redis 3.0 主备实例架构设计

DCS的Redis 3.0主备实例架构,如图3-2所示。

产品介绍 3 实例类型

(15)

3-2 Redis 3.0 主备实例示意图

示意图说明:

VPC

虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。

说明

VPC内访问,客户端需要与主备实例处于相同VPC,并且配置安全组访问规则。

Redis 3.0主备实例除了VPC内访问,还支持公网访问,客户端可以部署在外部网络,并通 过实例绑定的弹性公网ip地址访问Redis主备实例。Redis 4.0和5.0主备及Redis 6.0主备实 例暂不支持公网访问。

相关参考:公网连接Redis3.0实例,如何选择和配置Redis实例以及客户端的安全组。

● 客户应用

运行在ECS上的客户应用程序,即Redis的客户端。

Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连 接示例,请参考用户指南的连接缓存实例。

DCS缓存实例

DCS实例。主备实例包含了Master和Replica两个节点。默认开启数据持久化功 能,同时保持节点间数据同步。

DCS实时探测实例可用性,当主节点故障后,备节点升级为主节点,恢复业务。

Redis的访问端口默认为6379。

Redis 4.0 和 Redis 5.0 主备实例架构设计

Redis 4.0和Redis 5.0主备实例支持读写分离,架构设计如图3-3所示。

产品介绍 3 实例类型

(16)

3-3 Redis 4.0 和 Redis 5.0 主备实例示意图

图说明如下:

1. Redis 4.0和Redis 5.0主备读写分离实例,分别提供可读写域名和只读域名,连接 主节点和备节点。

可读写地址和只读地址,可通过控制台的实例详情页面获取。

2. Redis 4.0和Redis 5.0主备实例支持使用哨兵模式(Sentinel)进行管理,Sentinel 会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。

Sentinel对用户不可见,仅在服务内部中使用。Sentinel的详细介绍可参考什么是 哨兵。

3. 只读节点和读写节点规格一致,用户创建主备实例时,默认包含一个主节点和一 个备节点。

说明

Redis 4.0和Redis 5.0支持定义端口,如果不自定义端口,则使用默认端口6379。图中以默 认端口6379为例,如果已自定义端口,请根据实际情况替换。

3.3 Redis Proxy 集群实例

DCS Redis的集群实例有两种版本可供选择,一种是基于LVS+Proxy的高可用集群版本

(以下简称为Proxy版Redis集群),另一种是原生Cluster的集群版本。Proxy版集群兼 容开源Redis的3.0、4.0和5.0,Cluster版本兼容开源Redis的4.0和5.0。

其中,Redis 3.0/4.0/5.0 Proxy集群都不支持读写分离,Redis 4.0/5.0 Cluster集群支持 客户端读写分离,客户端读写分离操作,可参考Cluster集群实例读写分离。

本章节主要介绍Redis 3.0、Redis 4.0和Redis 5.0的Proxy集群实例。

产品介绍 3 实例类型

(17)

说明

● DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

● 不支持Redis版本的升级,例如,不支持Redis 3.0 Proxy集群升级为Redis 4.0/5.0 Proxy集群 实例。如果需要使用高版本Redis Proxy集群实例,建议重新创建高版本Redis Proxy集群实 例,然后将原有Redis实例的数据迁移到高版本实例上。

● 在连接Proxy集群实例时,客户端不需要做特殊配置,使用方式与单机、主备实例相同,使 用实例IP地址或域名连接即可,不需要知晓和使用Proxy节点或分片地址。

Redis 3.0 Proxy 集群实例

DCS Redis 3.0 Proxy集群实例基于开源Redis 3.0版本构建,兼容开源codis,提供 64G~1024G多种大容量规格版本,支持x86的CPU架构,用于满足百万级以上并发与 大容量数据缓存的需要。Redis集群的数据分布式存储和读取,由DCS内部实现,用户 无需投入开发与运维成本。

Redis集群实例由“负载均衡器”、“Proxy服务器”、“集群配置管理器”、“集群 分片”共4个部分组成。

3-1 Redis 3.0 集群实例规格和 Proxy 数、分片数的对应关系

集群版规格 Proxy节点数 分片数(Shard)

64G 3 8

128G 6 16

256G 8 32

512G 16 64

1024G 32 128

产品介绍 3 实例类型

(18)

3-4 Redis 3.0 Proxy 集群实例示意图

示意图说明:

VPC

虚拟私有云。集群实例的内部所有服务器节点,都运行在相同VPC中。

说明

如果Proxy集群实例没有开通公网访问,则客户端需要与集群实例处于相同VPC,并且配置 安全组访问规则。

如果Proxy集群实例开通了公网访问,则客户端可以部署在外部网络,并通过集群实例绑定 的弹性公网ip地址访问Redis Proxy集群实例。

相关参考:公网连接Redis3.0 Proxy实例,如何选择和配置Redis实例以及客户端的安全 组。

● 客户应用程序

客户应用程序,即Redis集群客户端。

Redis可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户 指南的连接缓存实例。

LB-M/LB-S

负载均衡服务器,采用主备高可用方式。Redis集群实例提供访问的IP地址和域 名,即为负载均衡服务器地址。

Proxy

Redis集群代理服务器。用于实现Redis集群内部的高可用,以及承接客户端的高 并发请求。

支持使用Proxy节点的IP连接集群实例。

Redis shard Redis集群的分片。

产品介绍 3 实例类型

(19)

每个分片也是一个Redis主备实例,分片上的主实例故障时,系统会自动进行主备 切换,集群正常提供服务。

某个分片的主备实例都故障,集群可正常提供服务,但该分片上的数据不能读 取。

Cluster manager

集群配置管理器,用于存储集群的配置信息与分区策略。用户不能修改配置管理 器的信息。

Redis 4.0/5.0 Proxy 集群实例

说明

Redis 4.0/5.0 Proxy集群实例,当前仅部分区域支持,请以控制台实际上线区域为准。

DCS Redis 4.0和5.0 Proxy集群实例基于开源Redis的4.0和5.0版本构建,兼容开源 codis,提供4G~1024G多种大容量规格版本,支持x86和Arm两种CPU架构。

Proxy集群每种实例规格对应的分片数,如表3-2所示,支持自定义分片大小,在创建 实例时,可以自定义,实例创建后,分片大小不支持修改,当前暂时不支持自定义分 片数和副本数,默认每个分片为双副本架构。

每个分片内存=实例规格/分片数,例如,集群规格为48GB的实例,分片数为6,则每 个集群分片的大小为48G/6=8G。

3-2 Redis 4.0/5.0 Proxy 集群实例规格和分片数的对应关系 集群版规格 Proxy节点

分片数 每个分片内存(GB)

4GB 3 3 1.33

8GB 3 3 2.67

16GB 3 3 5.33

24GB 3 3 8

32GB 3 3 10.67

48GB 6 6 8

64GB 8 8 8

96GB 12 12 8

128GB 16 16 8

192GB 24 24 8

256GB 32 32 8

384GB 48 48 8

512GB 64 64 8

768GB 96 96 8

1024GB 128 128 8

产品介绍 3 实例类型

(20)

3-5 Redis 4.0/5.0 Proxy 集群实例示意图

实例示意图说明:

VPC

虚拟私有云。集群实例的内部所有服务器节点,都运行在相同VPC中。

说明

客户端需要与集群实例处于相同VPC,并且实例白名单允许客户端的IP地址访问。

● 客户应用程序

客户应用程序,即Redis集群客户端。

Redis可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户 指南的连接缓存实例。

产品介绍 3 实例类型

(21)

● 终端节点服务

终端节点服务,主要是将Redis缓存实例配置为VPC终端节点支持的服务,用户可 以直接通过终端节点服务的地址访问。

Redis Proxy集群实例提供的IP地址和域名,即为终端节点服务的地址。

ELB

弹性负载均衡服务器,采用集群高可用方式,支持多可用区部署。

Proxy

Redis集群代理服务器。用于实现Redis集群内部的高可用,以及承接客户端的高 并发请求。

暂不支持使用Proxy节点的IP连接集群实例。

Cluster集群 Redis集群的分片。

每个分片也是一个双副本的Redis主备实例,分片上的主实例故障时,系统会自动 进行主备切换,集群正常提供服务。

某个分片的主备实例都故障,集群可正常提供服务,但该分片上的数据不能读 取。

3.4 Redis Cluster 集群实例

DCS Redis的集群实例有两种版本可供选择,一种是基于LVS+Proxy的高可用集群版本

(以下简称为Proxy版Redis集群),另一种是原生Cluster的集群版本。Proxy版集群兼 容开源Redis的3.0、4.0和5.0,Cluster版本兼容开源Redis的4.0和5.0。

其中,Redis 3.0/4.0/5.0 Proxy集群不支持读写分离,Redis 4.0/5.0 Cluster集群支持客 户端读写分离,客户端读写分离操作,可参考Cluster集群实例读写分离。

本章节主要介绍Redis 4.0和Redis 5.0的Cluster集群实例。

Redis 4.0 和 Redis 5.0 Cluster 集群实例

Cluster版Redis集群兼容开源Redis的Cluster,基于smart client和无中心的设计方 案,对服务器进行分片。

Cluster版Redis集群每种实例规格对应的分片数,如表3-3所示。

DCS Cluster集群支持自定义分片大小,在创建实例时,可以自定义,实例创建后,分 片大小不支持修改。如果不自定义分片大小,使用系统默认分片,每个分片的大小=实 例规格/分片数,例如,集群规格为48GB的实例,分片数为6,则每个集群分片的大小 为48GB/6=8GB。

3-3 Cluster 集群实例规格和分片数的对应关系

集群版规格 分片数

4GB/8GB/16GB/24GB/32GB 3

48GB 6

64GB 8

产品介绍 3 实例类型

(22)

集群版规格 分片数

96GB 12

128GB 16

192GB 24

256GB 32

384GB 48

512GB 64

768GB 96

1024GB 128

● 无中心架构

Redis Cluster的任意节点都可以接收请求,但节点会将请求发送到正确的节点上 执行,同时,每一个节点也是主从结构,默认包含一个主节点和一个从节点,由 Redis Cluster根据选举算法决定节点主从属性。

3-6 Redis Cluster 无中心架构

● 数据预分片

Redis Cluster会预先分配16384个slot,每个Redis的server存储所有slot与redis server的映射关系。key存储在哪个slot中,由Crc16(key) mod 16384的值决定。

如下图所示:

产品介绍 3 实例类型

(23)

3-7 Redis Cluster 预分片示意图

3.5 读写分离实例

本章节主要介绍DCS服务从服务端实现的读写分离实例和从客户端实现读写分离的主 备实例,读写分离主要适用于读高并发、写请求较少的业务场景,解决高并发的性能 问题,节约运维成本。

说明

服务端读写分离和客户端读写分离功能,仅在部分Region支持,具体请以控制台显示为准。

如果是Redis 4.0/5.0版本的主备实例,默认支持从客户端实现读写分离,实例提供读写 域名和只读域名给用户,客户端需要判断用户读写请求,如果是写请求,则将请求发 送给读写域名,如果是读请求,则将请求发送给只读域名,从而实现读写分离。

如果是Redis 4.0/5.0版本的读写分离实例,默认为从服务端侧实现的读写分离,通过 Proxy节点识别用户读写请求,如果是写请求,则转发给主节点,如果是读请求,则转 发给备节点,不需要用户在客户端做任何配置。

主备读写分离实例使用限制:

1. 主备读写分离实例读请求会发送到从节点,从节点从主节点同步数据会有一定的 时延。

请确保业务侧不依赖主从同步的时延,如果对主从同步时延有依赖的场景,不适 用读写分离实例,请考虑普通主备或集群。

2. 主备读写分离实例适用于写少读多的场景,如果写流量过大,可能导致主从断 连,或断连后主从同步失败,导致读请求性能下降。

写流量大的场景请考虑普通主备或集群 。

3. 从节点故障后,需要一定的时间从主节点全量同步数据,同步数据期间,从节点 不对外提供服务,此时实例读请求性能会下降。

推荐使用<32G内存规格的实例,内存规格越小,主从全量同步数据时间越少,同 步断链时间越短。

产品介绍 3 实例类型

(24)

服务端读写分离

3-8 读写分离实例

实例示意图说明:

● 终端节点服务

终端节点服务,主要是将Redis缓存实例配置为VPC终端节点支持的服务,用户可 以直接通过终端节点服务的地址访问。

Redis读写分离实例提供的IP地址和域名,即为终端节点服务的地址。

ELB

弹性负载均衡服务器,采用集群高可用方式,支持多可用区部署。

Proxy

代理服务器集群。通过Proxy节点识别用户读写请求,如果是写请求,则转发给主 节点,如果是读请求,则转发给备节点,不需要用户在客户端做任何配置。

Sentinel集群

产品介绍 3 实例类型

(25)

监控主备节点状态,当主节点出现故障或异常时,进行主备倒换,保证服务不中 断。

● 主备实例

读写分离实例,后端是一个主备实例,包含了主和备两个节点。默认开启数据持 久化功能,同时保持节点间数据同步。

主备节点支持跨可用区部署。

客户端读写分离

Redis 4.0和Redis 5.0主备实例支持读写分离,架构设计如图3-9所示。

3-9 Redis 4.0 和 Redis 5.0 主备实例示意图

图说明如下:

1. Redis 4.0和Redis 5.0主备读写分离实例,分别提供读写域名和只读域名,客户端 需要判断用户读写请求,将请求发送到对应域名,连接主节点或备节点。

读写域名和只读域名,可通过控制台的实例详情页面获取。

2. Redis 4.0和Redis 5.0主备实例支持使用哨兵模式(Sentinel)进行管理,Sentinel 会一直监控主备节点是否正常运行,当主节点出现故障时,进行主备倒换。

Sentinel对用户不可见,仅在服务内部中使用。

3. 只读节点和读写节点规格一致,用户创建主备实例时,默认包含一个主节点和一 个备节点。

3.6 Redis 实例类型差异

Redis单机/主备、Proxy集群和Cluster集群实例,在特性支持、特性限制以及命令限制 有部分差异,具体请查看表3-4。

产品介绍 3 实例类型

(26)

说明

DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

3-4 单机/主备、Proxy 集群和 Cluster 集群的差异说明

对比项 单机/主备 Proxy集群 Cluster集群 兼容Redis

版本

兼容社区Redis 3.0、4.0、5.0。

Redis 6.0兼容社 区KeyDB(当前 只支持主备实 例)。

可在购买实例时 选择版本号。

兼容社区3.0、4.0和5.0

版本。 兼容开源社区4.0/5.0版本。

可在购买集群实例时选择版本 号。

特性支

持 ● 支持event notify。

● 支持pipeline。

● 支持pipeline、

mset、mget。

● 支持scan、keys、

slowlog。

● 支持发布订阅。

● 支持event notify。

● 支持brpop、blpop、

brpoplpush。

● 支持发布订阅。

特性限 制

单机不支持持久

化。 ● lua脚本受限使用,

所有的key必须在同 一个slot,否则会报 错,建议使用 hashtag技术。

● 多个key的命令中,

所有key必须属于同 一个slot,否则会报 错,建议使用 hashtag技术。

● 不支持event notify 用法。

● lua脚本受限使用,所有的 key必须在同一个slot,建 议使用hashtag技术。

● 需要客户端SDK支持redis cluster协议,需要能够处 理"-MOVED"响应。

● 使用pipeline、mset/mget 模式时,所有key必须属于 同一个slot,否则报错,建 议使用hashtag技术。

● 使用event notify时,需要 建立与每个redis-server的 连接,分别处理每个连接 上的事件。

● 执行scan、keys等遍历类 或者全局类命令时,需要 对每个redis-server分别执 行该命令。

客户端 协议

使用传统Redis 客户端即可。

使用传统Redis客户端 即可,不需要支持 Redis Cluster协议。

需要客户端支持Redis Cluster 协议。

产品介绍 3 实例类型

(27)

对比项 单机/主备 Proxy集群 Cluster集群 命令限

单机和主备实例 不支持的Redis 命令,请参考表 Redis3.0单机和 主备实例禁用命 令、表Redis4.0单机和 主备禁用命令和 表 Redis 5.0单 机和主备禁用命 令。

Proxy集群实例不支持 的Redis命令,请参考 表 Redis3.0 Proxy集群 实例禁用命令。

Cluster集群不支持的Redis命 令,请参考表 Redis4.0 Cluster集群禁用命令和表 Redis5.0 Cluster集群禁用命 令。

副本数 单机实例为单副 本,只有一个节 点。

主备实例为双副 本,目前Redis 3.0、Redis 6.0 主备不支持自定 义副本数,默认 为一主一从的架 构。在创建 Redis 4.0、5.0 主备实例时,支 持自定义副本 数,形成一主多 从的架构。

每个集群分片都为双副 本,但不支持为分片新 增副本,每个分片是一 主一从的架构。

每个集群分片默认为双副本,

支持自定义副本数,可以是一 主多从的架构。在创建实例 时,也可以定义为单副本,单 副本表示实例只有主节点,无 法保障数据高可靠。

3.7 Memcached 单机实例(即将下线)

说明

DCS Memcached即将下线,部分Region已暂停售卖,建议使用Redis 4.0/5.0。

本章节主要介绍Memcached单机实例的特点和架构。

单机实例特点

1. 系统资源消耗低,支持高QPS

单机实例不涉及数据同步、数据持久化所需消耗的系统开销,因此能够支撑更高 的并发。Memcached的单机实例QPS达到10万以上。

2. 进程监控,故障后自动恢复

DCS部署了业务高可用探测,单机实例故障后,30秒内会重启一个新的进程,恢 复业务。

3. 即开即用,数据不做持久化

单机实例开启后不涉及数据加载,即开即用。如果服务QPS较高,可以考虑进行 数据预热,避免给后端数据库产生较大的并发冲击。

产品介绍 3 实例类型

(28)

4. 低成本,适用于开发测试

单机实例各种规格的成本相对主备减少40%以上。适用于开发、测试环境搭建。

总体说来,单机实例支持读写高并发,但不做持久化,实例重启时不保存原有数据。

单机实例主要服务于数据不需要由缓存实例做持久化的业务场景,如数据库前端缓 存,用以提升数据读取效率,减轻后端并发压力。当缓存中查询不到数据,可穿透至 磁盘数据库中获取,同时,重启服务、缓存实例时,可从磁盘数据库中获取数据进行 预热,降低后端服务在启动初期的压力。

实例架构设计

DCS的Memcached单机实例架构,如图3-10所示。

3-10 Memcached 单机实例示意图

示意图说明:

VPC

虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。

说明

Memcached单机实例不支持公网访问,客户端需要与实例处于相同VPC,并且配置安全组 访问规则。

相关参考:如何选择和配置Redis实例以及客户端的安全组。

● 客户应用

运行在ECS上的客户应用程序,即实例的客户端。

Memcached实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客 户端连接示例,请参考用户指南的连接缓存实例。

产品介绍 3 实例类型

(29)

DCS缓存实例

DCS实例,单机实例只有1个节点,1个Memcached进程。

DCS实时探测实例可用性,当Memcached进程故障后,DCS为实例重新拉起一个 新的Memcached进程,恢复业务。

Memcached实例访问端口为11211。

3.8 Memcached 主备实例(即将下线)

说明

DCS Memcached即将下线,部分Region已暂停售卖,建议使用Redis 4.0/5.0。

本章节主要描述Memcached主备实例。

主备实例特点

Memcached主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。

Memcached主备实例具有以下特性:

1. 持久化,确保数据高可靠

实例包含一个主节点和一个备节点,都默认开启数据持久化。同时支持数据持久 化,确保数据高可靠。

Memcached主备实例的备节点对用户不可见,不支持客户端直接读写数据。

2. 数据同步

主备节点通过增量数据同步的方式保持缓存数据一致。

说明

当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据 一致性。

3. 故障后自动切换主节点,服务高可用

当主节点故障后,备节点在30秒内自动完成主备切换,无需用户操作,业务平稳 运行。

4. 多种容灾策略

跨AZ部署(可用区):DCS支持将主备实例部署在不同的AZ内,节点间电力与网 络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高 可用。

Memcached 主备实例架构设计

DCS的Memcached主备实例架构,如图3-11所示。

产品介绍 3 实例类型

(30)

3-11 Memcached 主备实例示意图

示意图说明:

VPC

虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。

说明

Memcached主备实例不支持公网访问,客户端需要与主备实例处于相同VPC,并且配置安 全组访问规则。

相关参考:如何选择和配置Redis实例以及客户端的安全组。

● 客户应用

运行在ECS上的客户应用程序,即Memcached的客户端。

Memcached实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客 户端连接示例,请参考用户指南的连接缓存实例。

DCS缓存实例

DCS实例。主备实例包含了Master和Slave两个节点。默认开启数据持久化功能,

同时保持节点间数据同步。

DCS实时探测实例可用性,当主节点故障后,备节点升级为主节点,恢复业务。

Memcached实例访问端口为11211。

产品介绍 3 实例类型

(31)

4 实例规格

4.1 Redis 3.0 实例

本节介绍DCS Redis 3.0实例的产品规格,包括内存规格、实例可使用内存、连接数上 限、最大带宽/基准带宽、参考性能(QPS)等。

实例各项指标如下:

● 实例已使用内存:您可以通过查看监控指标“内存利用率”和“已用内存”查看 实例内存使用情况。

● 连接数上限:表示允许客户端同时连接的个数,即连接并发数。具体实例的连接 数,可查看监控指标“活跃的客户端数量”。

● QPS:即Query Per Second,表示数据库每秒执行的命令数。QPS的测试方法,

可参考性能测试方法。

说明

● Redis 3.0实例支持“单机”、“主备”和“Proxy集群”三种类型。

● DCS Redis 3.0已下线,暂停售卖,建议使用Redis 4.0/5.0。

单机实例

因系统开销占用一部分资源,Redis单机实例可用内存比实例规格略小,如表4-1所 示。

4-1 Redis 3.0 单机实例产品规格 内存规

(GB)

实例可 使用内 存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s)

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

2 1.5 5,000/50,0

00 42/512 50,000 dcs.single_node

产品介绍 4 实例规格

(32)

内存规 格

(GB)

实例可 使用内 存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s)

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

4 3.2 5,000/50,0

00 64/1,536 100,000 dcs.single_node 8 6.8 5,000/50,0

00 64/1,536 100,000 dcs.single_node 16 13.6 5,000/50,0

00 85/3,072 100,000 dcs.single_node 32 27.2 5,000/50,0

00 85/3,072 100,000 dcs.single_node 64 58.2 5,000/60,0

00 128/5,120 100,000 dcs.single_node

主备实例

对于Redis主备实例,需要预留持久化的内存,部分规格的实际可使用与单机实例相比 略少,如表4-2所示。主备实例可以调整实例可用内存,以更好地支持数据持久化、主 从同步等后台任务。

4-2 Redis 3.0 主备实例产品规格 内存规

(GB)

实例可使 用内存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码

(对应API的 spec_code)

2 1.5 5,000/50,0

00 42/512 50,000 dcs.master_stand by

4 3.2 5,000/50,0

00 64/1,536 100,000 dcs.master_stand by

8 6.4 5,000/50,0

00 64/1,536 100,000 dcs.master_stand by

16 12.8 5,000/50,0

00 85/3,072 100,000 dcs.master_stand by

32 25.6 5,000/50,0

00 85/3,072 100,000 dcs.master_stand by

64 51.2 5,000/60,0

00 128/5,120 100,000 dcs.master_stand by

产品介绍 4 实例规格

(33)

Proxy 集群实例

Redis Proxy集群实例与单机、主备实例的区别,不仅在于支持高规格内存,客户端连 接数、内网带宽上限、QPS指标都有很大的提升。

4-3 Redis 3.0 Proxy 集群实例产品规格 规格

(GB)

实例可使 用内存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s)

参考性能

(QPS)

产品规格编码

(对应API的 spec_code)

64 64 90,000/90,

000 600/5,120 500,000 dcs.cluster 128 128 180,000/18

0,000 600/5,120 500,000 dcs.cluster 256 256 240,000/24

0,000 600/5,120 500,000 dcs.cluster 512 512 480,000/48

0,000 600/5,120 500,000 dcs.cluster 1024 1024 960,000/96

0,000 600/5,120 500,000 dcs.cluster

说明

● 按需付费的Redis Proxy集群实例,支持的实例规格为64GB、128GB和256GB;

● 包年/包月付费的Redis Proxy集群实例,支持的实例规格为64GB、128GB、256GB、512GB 和1024GB。

4.2 Redis 4.0/5.0 实例

本节介绍DCS Redis 4.0和Redis 5.0实例的产品规格,包括内存规格、实例可使用内 存、连接数上限、最大带宽/基准带宽、参考性能(QPS)等。

实例各项指标如下:

● 实例已使用内存:您可以通过查看监控指标“内存利用率”和“已用内存”查看 实例内存使用情况。

● 连接数上限:表示允许客户端同时连接的个数,即连接并发数。具体实例的连接 数,可查看监控指标“活跃的客户端数量”。

● QPS:即Query Per Second,表示数据库每秒执行的命令数。QPS的测试方法,

可参考性能测试方法。

● 带宽:您可以查看监控指标“流控次数”,确认带宽是否超过限额。其中,带宽 还涉及监控指标“带宽使用率”,该指标仅供参考,可能会出现超过100%的情 况,具体原因,可查看带宽使用率指标会超过100%的原因。

产品介绍 4 实例规格

(34)

说明

● Redis 4.0和Redis 5.0实例支持“单机”、“主备”、“Proxy集群”、“Cluster集群”和

“读写分离”类型。

● Redis 4.0和Redis 5.0实例支持x86计算和Arm计算两种CPU架构,具体差异请查看下文。

单机实例

Redis 4.0/5.0单机实例有x86和Arm两种CPU类型,具体规格如下表。

4-4 Redis 4.0 和 Redis 5.0 单机实例产品规格 内存规

(GB)

实例可使 用内存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s)

参考性 能

(QPS)

产品规格编码(对 应API的

spec_code)

0.125 0.125 10,000/10,0

00 40/40 80,000 x86:

redis.single.xu1.tin y.128

Arm:redis.single.au1.tin y.128

0.25 0.25 10,000/10,0

00 80/80 80,000 x86:

redis.single.xu1.tin y.256

Arm:redis.single.au1.tin y.256

0.5 0.5 10,000/10,0

00 80/80 80,000 x86:

redis.single.xu1.tin y.512

Arm:redis.single.au1.tin y.512

1 1 10,000/50,0

00 80/80 80,000 x86:

redis.single.xu1.lar ge.1

Arm:redis.single.au1.lar ge.1

2 2 10,000/50,0

00 128/128 80,000 x86:

redis.single.xu1.lar ge.2

Arm:redis.single.au1.lar ge.2

产品介绍 4 实例规格

(35)

内存规 格

(GB)

实例可使 用内存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s)

参考性 能

(QPS)

产品规格编码(对 应API的

spec_code)

4 4 10,000/50,0

00 192/192 80,000 x86:

redis.single.xu1.lar ge.4

Arm:redis.single.au1.lar ge.4

8 8 10,000/50,0

00 192/192 100,000 x86:

redis.single.xu1.lar ge.8

Arm:redis.single.au1.lar ge.8

16 16 10,000/50,0

00 256/256 100,000 x86:

redis.single.xu1.lar ge.16

Arm:redis.single.au1.lar ge.16

24 24 10,000/50,0

00 256/256 100,000 x86:

redis.single.xu1.lar ge.24

Arm:redis.single.au1.lar ge.24

32 32 10,000/50,0

00 256/256 100,000 x86:

redis.single.xu1.lar ge.32

Arm:redis.single.au1.lar ge.32

48 48 10,000/50,0

00 256/256 100,000 x86:

redis.single.xu1.lar ge.48

Arm:redis.single.au1.lar ge.48

产品介绍 4 实例规格

(36)

内存规 格

(GB)

实例可使 用内存

(GB)

连接数上限

(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s)

参考性 能

(QPS)

产品规格编码(对 应API的

spec_code)

64 64 10,000/50,0

00 384/384 100,000 x86:

redis.single.xu1.lar ge.64

Arm:redis.single.au1.lar ge.64

主备实例

主备实例有x86和Arm两种CPU类型,如果是Arm类型,还支持多副本,副本数支持2 到5,即Arm主备2副本、Arm主备3副本……Arm主备5副本。主备实例默认1个主节 点、2个副本数。

同一个内存规格,x86主备实例、Arm主备实例、Arm主备多副本实例有如下差异:

● 可使用内存、连接数上限、基准/最大带宽、QPS:都一样。

● 实例规格名称:表4-5中仅列出了x86和Arm的实例规格名称,如果是Arm多副 本,名称中相应补充副本数量,例如,8G规格的实例,Arm实例为

redis.ha.au1.large.8,则Arm主备2副本的名称为redis.ha.au1.large.r2.8,3副本为 redis.ha.au1.large.r3.8,以此类推。

● 占用IP个数:占用的IP个数=主节点个数*副本个数。例如:

2G规格x86实例,占用IP个数=1*2=2;

2G规格的Arm主备3副本实例,占用IP个数=1*3=3。

4-5 Redis 4.0 和 Redis 5.0 主备实例产品规格 内存规

(GB)

实例可使 用内存

(GB)

连接数上 限(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

0.125 0.125 10,000/1

0,000 40/40 80,000 x86:

redis.ha.xu1.tiny.r 2.128

Arm:redis.ha.au1.tiny.

128

产品介绍 4 实例规格

(37)

内存规 格

(GB)

实例可使 用内存

(GB)

连接数上 限(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

0.25 0.25 10,000/1

0,000 80/80 80,000 x86:

redis.ha.xu1.tiny.r 2.256

Arm:redis.ha.au1.tiny.

256 0.5 0.5 10,000/1

0,000 80/80 80,000 x86:

redis.ha.xu1.tiny.r 2.512

Arm:redis.ha.au1.tiny.

512

1 1 10,000/5

0,000 80/80 80,000 x86:

redis.ha.xu1.large.

r2.1

Arm:redis.ha.au1.large.

1

2 2 10,000/5

0,000 128/128 80,000 x86:

redis.ha.xu1.large.

r2.2

Arm:redis.ha.au1.large.

2

4 4 10,000/5

0,000 192/192 80,000 x86:

redis.ha.xu1.large.

r2.4

Arm:redis.ha.au1.large.

4

8 8 10,000/5

0,000 192/192 100,000 x86:

redis.ha.xu1.large.

r2.8

Arm:redis.ha.au1.large.

8

产品介绍 4 实例规格

(38)

内存规 格

(GB)

实例可使 用内存

(GB)

连接数上 限(默认/可 配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

16 16 10,000/5

0,000 256/256 100,000 x86:

redis.ha.xu1.large.

r2.16

Arm:redis.ha.au1.large.

16 24 24 10,000/5

0,000 256/256 100,000 x86:

redis.ha.xu1.large.

r2.24

Arm:redis.ha.au1.large.

24 32 32 10,000/5

0,000 256/256 100,000 x86:

redis.ha.xu1.large.

r2.32

Arm:redis.ha.au1.large.

32 48 48 10,000/5

0,000 256/256 100,000 x86:

redis.ha.xu1.large.

r2.48

Arm:redis.ha.au1.large.

48 64 64 10,000/5

0,000 384/384 100,000 x86:

redis.ha.xu1.large.

r2.64

Arm:redis.ha.au1.large.

64

Proxy 集群实例

Proxy集群实例支持x86和Arm两种CPU类型,具体规格如表4-6所示。

Proxy集群当前暂时不支持自定义分片和副本,默认分片数,请参考表3-2,每个分片 默认为双副本实例。

产品介绍 4 实例规格

(39)

4-6 Redis 4.0 和 Redis 5.0 Proxy 集群实例产品规格 规格

(GB)

实例可使 用内存

(GB)

连接数上限(默认/

可配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

4 4 20,000/2

0,000 1,000/1,0

00 240,000 x86:

redis.proxy.xu1.lar ge.4

Arm:redis.proxy.au1.lar ge.4

8 8 30,000/3

0,000 2,000/2,0

00 240,000 x86:

redis.proxy.xu1.lar ge.8

Arm:redis.proxy.au1.lar ge.8

16 16 30,000/3

0,000 3,072/3,0

72 240,000 x86:

redis.proxy.xu1.lar ge.16

Arm:redis.proxy.au1.lar ge.16

24 24 30,000/3

0,000 3,072/3,0

72 240,000 x86:

redis.proxy.xu1.lar ge.24

Arm:redis.proxy.au1.lar ge.24

32 32 30,000/3

0,000 3,072/3,0

72 240,000 x86:

redis.proxy.xu1.lar ge.32

Arm:redis.proxy.au1.lar ge.32

48 48 60,000/6

0,000 4,608/4,6

08 480,000 x86:

redis.proxy.xu1.lar ge.48

Arm:redis.proxy.au1.lar ge.48

产品介绍 4 实例规格

(40)

规格

(GB)

实例可使 用内存

(GB)

连接数上限(默认/

可配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

64 64 80,000/8

0,000 6,144/6,1

44 640,000 x86:

redis.proxy.xu1.lar ge.64

Arm:redis.proxy.au1.lar ge.64

96 96 120,000/

120,000 9,216/9,2

16 960,000 x86:

redis.proxy.xu1.lar ge.96

Arm:redis.proxy.au1.lar ge.96

128 128 160,000/

160,000 10,000/10

,000 1,280,000 x86:

redis.proxy.xu1.lar ge.128

Arm:redis.proxy.au1.lar ge.128

192 192 240,000/

240,000 10,000/10

,000 1,920,000 x86:

redis.proxy.xu1.lar ge.192

Arm:redis.proxy.au1.lar ge.192

256 256 320,000/

320,000 10,000/10

,000 >2,000,000 x86:

redis.proxy.xu1.lar ge.256

Arm:redis.proxy.au1.lar ge.256

384 384 480,000/

480,000 10,000/10

,000 >2,000,000 x86:

redis.proxy.xu1.lar ge.384

Arm:redis.proxy.au1.lar ge.384

产品介绍 4 实例规格

(41)

规格

(GB)

实例可使 用内存

(GB)

连接数上限(默认/

可配)

(个)

基准/最大 带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

512 512 640,000/

640,000 10,000/10

,000 >2,000,000 x86:

redis.proxy.xu1.lar ge.512

Arm:redis.proxy.au1.lar ge.512

768 768 640,000/

640,000 10,000/10

,000 >2,000,000 x86:

redis.proxy.xu1.lar ge.768

Arm:redis.proxy.au1.lar ge.768

1024 1024 640,000/

640,000 10,000/10

,000 >2,000,000 x86:

redis.proxy.xu1.lar ge.1024

Arm:redis.proxy.au1.lar ge.1024

Cluster 集群实例

Cluster实例有x86和Arm两种CPU类型,支持多副本,副本个数支持1到5,即,

Cluster 1副本、Cluster 2副本……Cluster 5副本。Cluster集群实例默认副本数都为 2,Cluster 1副本实例则表示减少副本数。

同一个内存规格,x86 Cluster集群实例、Arm Cluster集群实例、Cluster集群多副本实 例有如下差异:

● 可使用内存、分片数(主节点个数)、连接数上限、基准/最大带宽、QPS:都一 样。

说明

Cluster集群的最大带宽/基准带宽是实例的最大带宽/基准带宽而不是单个分片。

● 实例规格名称:表4-7中仅列出了x86和Arm 2副本的实例规格名称,如果是其他 副本个数,名称中相应修改副本数量。例如,24G规格的Arm 2副本实例的名称为 redis.cluster.au1.large.r2.24,3副本为redis.cluster.au1.large.r3.24,以此类推。

● 占用IP个数:占用的IP个数=分片数*副本个数。例如:

24G规格的Cluster 3副本实例,占用IP个数=3*3=9。

● 单个节点可使用内存:单个节点可使用内存=实例可使用内存/主节点个数。例 如:

24G规格x86实例,实例可使用内存为24G,主节点个数为3,则单个节点可使用 内存=24/3=8G。

产品介绍 4 实例规格

(42)

● 单个节点连接数上限:单个节点连接数上限=实例连接数上限/主节点个数。例 如:

24G规格x86实例,实例连接数上限为150000,主节点个数为3,则单个节点连接 数上限=150000/3=50000个。

4-7 Redis 4.0 和 Redis 5.0 Cluster 集群实例产品规格 规格

(GB)

实例可使 用内存

(GB)

分片数(主 节点个数)

实例连 接数上 限(默认/可 配)

(个)

基准/最 大带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

4 4 3 30,000

/150,00 0

2,304/2,3

04 240,000 x86:

redis.cluster.xu1.la rge.r2.4

Arm:redis.cluster.au1.l arge.r2.4

8 8 3 30,000

/150,00 0

2,304/2,3

04 240,000 x86:

redis.cluster.xu1.la rge.r2.8

Arm:redis.cluster.au1.l arge.r2.8

16 16 3 30,000 /150,00 0

2,304/2,3

04 240,000 x86:

redis.cluster.xu1.la rge.r2.16

Arm:redis.cluster.au1.l arge.r2.16 24 24 3 30,000

/150,00 0

2,304/2,3

04 300,000 x86:

redis.cluster.xu1.la rge.r2.24

Arm:redis.cluster.au1.l arge.r2.24 32 32 3 30,000

/150,00 0

2,304/2,3

04 300,000 x86:

redis.cluster.xu1.la rge.r2.32

Arm:redis.cluster.au1.l arge.r2.32

产品介绍 4 实例规格

(43)

规格

(GB)

实例可使 用内存

(GB)

分片数(主 节点个数)

实例连 接数上 限(默认/可 配)

(个)

基准/最 大带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

48 48 6 60,000 /300,00 0

4,608/4,6

08 >300,000 x86:

redis.cluster.xu1.la rge.r2.48

Arm:redis.cluster.au1.l arge.r2.48 64 64 8 80,000

/400,00 0

6,144/6,1

44 500,000 x86:

redis.cluster.xu1.la rge.r2.64

Arm:redis.cluster.au1.l arge.r2.64 96 96 12 120,00

0 /600,00 0

9,216/9,2

16 >500,000 x86:

redis.cluster.xu1.la rge.r2.96

Arm:redis.cluster.au1.l arge.r2.96 128 128 16 160,00

0 /800,00 0

12,288/1

2,288 1,000,000 x86:

redis.cluster.xu1.la rge.r2.128

Arm:redis.cluster.au1.l arge.r2.128 192 192 24 240,00

0 /1,200,0 00

18,432/1

8,432 >1,000,00

0 x86:

redis.cluster.xu1.la rge.r2.192

Arm:redis.cluster.au1.l arge.r2.192 256 256 32 320,00

0 /1,600,0 00

24,576/2

4,576 >2,000,00

0 x86:

redis.cluster.xu1.la rge.r2.256

Arm:redis.cluster.au1.l arge.r2.256

产品介绍 4 实例规格

(44)

规格

(GB)

实例可使 用内存

(GB)

分片数(主 节点个数)

实例连 接数上 限(默认/可 配)

(个)

基准/最 大带宽

(Mbit/s

参考性能

(QPS)

产品规格编码(对 应API的

spec_code)

384 384 48 480,00 0 /2,400,0 00

36,864/3

6,864 >2,000,00

0 x86:

redis.cluster.xu1.la rge.r2.384

Arm:redis.cluster.au1.l arge.r2.384 512 512 64 640,00

0 /3,200,0 00

49,152/4

9,152 >2,000,00

0 x86:

redis.cluster.xu1.la rge.r2.512

Arm:redis.cluster.au1.l arge.r2.512 768 768 96 960,00

0 /4,800,0 00

73,728/7

3,728 >2,000,00

0 x86:

redis.cluster.xu1.la rge.r2.768

Arm:redis.cluster.au1.l arge.r2.768 1024 1024 128 1,280,0

00 /6,400,0 00

98,304/9

8,304 >2,000,00

0 x86:

redis.cluster.xu1.la rge.r2.1024 Arm:redis.cluster.au1.l arge.r2.1024

读写分离实例

● 主备读写分离实例当前只支持x86 CPU类型,具体规格如表4-8。

● Redis 4.0和Redis 5.0 主备读写分离实例的连接数限制暂不支持修改。

● 单个数据节点带宽限制(MB/s)=总带宽限制(MB/s)/副本数(主+从)。

● 单个节点参考性能(QPS)=参考性能(QPS)/副本数(主+从)。

● 主备读写分离实例使用限制:

a. 主备读写分离实例读请求会发送到从节点,从节点从主节点同步数据会有一 定的时延。

请确保业务侧不依赖主从同步的时延,如果对主从同步时延有依赖的场景,

不适用读写分离实例,请考虑普通主备或集群。

b. 主备读写分离实例适用于写少读多的场景,如果写流量过大,可能导致主从 断连,或断连后主从同步失败,导致读请求性能下降。

产品介绍 4 实例规格

數據

表 1-2 DCS Redis 灵活的实例配置 实例类型 提供单机、主备、Proxy集群、Cluster集群、读写分离等类型,分 别适配不同的业务场景。 单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务 场景。单机实例支持读写高并发,但不做持久化,实例重启后原有 缓存数据不会加载。 主备:包含一个主节点,一个或多个备节点,主备节点的数据通过 实时复制保持一致,当主节点故障后,备节点自动升级为主节点。 同时用户可通过读写分离技术,在主节点上写,从备节点读,从而 提升缓存的整体读写性能。 Proxy集
表 4-6 Redis 4.0 和 Redis 5.0 Proxy 集群实例产品规格 规格 (GB) 实例可使用内存 (GB) 连接数上 限(默认/可配) (个) 基准/最大带宽(Mbit/s) 参考性能(QPS) 产品规格编码(对应API的spec_code) 4 4 20,000/2 0,000 1,000/1,000 240,000 x86: redis.proxy.xu1.lar ge.4 Arm: redis.proxy.au1.lar ge.4 8 8 30,000/3 0,000 2,000/
表 4-7 Redis 4.0 和 Redis 5.0 Cluster 集群实例产品规格 规格 (GB) 实例可使用内存 (GB) 分片 数(主节点 个数) 实例连接数上限(默认/可 配) (个) 基准/最大带宽 (Mbit/s) 参考性能(QPS) 产品规格编码(对应API的spec_code) 4 4 3 30,000 / 150,00 0 2,304/2,304 240,000 x86: redis.cluster.xu1.large.r2.4Arm: redis.cluster.au1.l arge
表 5-1 Redis 3.0 支持命令清单 1
+7

參考文獻

相關文件

统计范围包括参考年在本澳注册的225间旅行社。是次调查把旅行社的主场所、分社及服务柜台合并为一个单位计算;为方便

為促進勞動供需平衡、協助國民充分就業、充分運用人力資源,基於「就業服

[r]

16- 被访旅客对购物服务的评价 17- 被访旅客对公共交通服务的评价 18- 被访旅客对环境卫生的评价 19- 被访旅客对观光点的评价. 20-

[r]

 為了更進一步的提升與改善本校資訊管理系 的服務品質,我們以統計量化的方式,建立

為促進勞動供需平衡、協助國民充分就業、充分運用人力資源,基於「就業服

並存入百事可樂企業內部網站的 伺服 並存入百事可樂企業內部網站的 IBM RS/6000 伺服 器資料庫。然後,主管與分析師可以使用上型電腦