Redis Enterprise的线性缩万博体育彩放

万博体育彩Redis Enterprise已经基准测试演示真正的线性扩展——从6个AWS EC2实例的10M ops/秒到18个AWS EC2实例的30M ops/秒。它提供了多种方法来扩展你的数据库:

扩展碎片和节点

Redis Enterprise的重分片机制是基于Redi万博体育彩s复制的。每当一个分片需要向外扩展时,Redis Enterprise集群就会启动另一个Redis实万博体育彩例,并将原始分片的散列槽的一半复制到该实例中。一旦新的分片被填充,流量就会由代理以一种对应用程序完全透明的方式发送到两个分片。

扩展数据库碎片有两种方法:

  1. 通过向数据库添加分片而不向集群添加节点来进行扩展。当集群中有足够的未使用容量时,此场景非常有用:

扩大

diagram-scaling-up

2.通过在Redis Enterprise集群中添加节点来扩展,重新平衡然后重万博体育彩新加固你的数据库。如果你的集群需要更多的物理资源来扩展你的数据库,这个场景是有用的:

向外扩展,重新平衡,重新分片

扩展代理

默认情况下,在Redis Enterprise集群上创建的每个数据库都是通过一个冗余代理万博体育彩操作的。尽管代理非常高效,在一般的云实例上运行时,通常可以处理超过100万ops/秒的操作,但在某些情况下,需要扩展代理来处理网络带宽或每秒包限制。万博体育彩Redis Enterprise允许你在不改变你的应用代码的情况下在集群的多个节点上扩展代理。Redis客户端可以使用DNS轮询来选择每一个新连接使用哪个代理。

此外,为了优化集群节点间的网络流量,Redis Enterprise根据代理配置选择分片布局策略。万博体育彩当使用单一代理配置时,Redis Enterprise将尝试在每个节点上放置尽可能多的万博体育彩分片(这也称为a密集的配置)。当使用多代理配置时,集群的分片放置策略将基于稀疏的配置。

扩展代理< / >
diagram-scaling-proxy

使用开源集群API实现真正的线性可伸缩性

万博体育彩Redis Enterprise支持开源(OSS)集群API,允许在任何集群大小的客户机和集群之间只进行一次网络跳转。通过这种方式,您的客户端将暴露在使用OSS集群协议的集群节点上的分片的实际位置,如下所述:

使用OSS集群API进行扩展

diagram-scaling-with-OSS-cluster
  • 从Redis客户端的角度来看,每个代理代表一个哈希槽(HSs)的范围,等于托管在代理节点上的主分片服务的所有HSs的总和。换句话说,从客户端的角度来看,代理代表了一个具有主角色的大Redis实例。
  • 在OSS集群中,客户端(标准OSS客户端)根据key-value项的key和Redis集群哈希函数向相关代理发送请求。
  • 请求到达代理后,通过应用相同的散列函数将其转发到节点上的相关分片。
  • 在集群拓扑改变的情况下(例如,分片迁移,主/从故障转移等),代理更新它管理的HSs,如果有必要,从客户端重定向请求到集群中的另一个节点(使用MOVED reply)。

当使用OSS集群API时,Redis Enterprise以一种真正的线性方式万博体育彩进行扩展。下图总结了a的结果系列基准:

使用“replica-of”特性,用“read-replica”扩展“read”

万博体育彩Redis Enterprise允许你通过创建另一个数据库(在同一个集群上)来扩展你的读操作,该数据库将使用“副本”功能作为原始数据库的读副本。您的读副本被视为一个完全不同的数据库,可以配置不同数量的碎片和不同的可用性或持久性特征。您可以创建多个读副本,或者只是增加现有读副本中的碎片数量,以便进一步扩展读操作。

使用read-replica缩放read

diagram-scaling-read-replica

下一节►高可用性复述,

Baidu