redis集群方案大对比

本文对比了Redis的单机实例、主从模式、哨兵模式和集群模式,包括它们的特点和适用场景。哨兵模式提供了高可用性,而redis-cluster和twemproxy分别作为官方和第三方集群方案各有优劣,前者复杂但性能更高,后者轻量但难以平滑扩展。codis作为国内开源项目,提供了数据热迁移和自动负载均衡功能。
摘要由CSDN通过智能技术生成

redis集群方案大对比

单机redis单实例

redis的单机实例并发量在 50k-10k之间, 生产环境下一般在20-50k 以下

memcached可达十几万的并发,生产环境下也可5万以上。

主从模式

这种模式可以方便快速的解决,读多写少的高并发场景,相对较小的缓存应用场景可适用

哨兵模式

sentinel模式,解决了主从模式的下的高可用问题。哨兵模式相当清爽,相当于充当了一群管理员,自动的去完成主从切换,故障迁移等。

集群模式

1. redis-cluster集群
redis-cluster集群是redis服务自带的分部式集群解决方案3.0.版本以上方有该功能。去中心化是它一大特点。

2. twemproxy代理集群
Twemproxy(又称为nutcracker)是一个轻量级的Redis和Memcached代理,主要用来减少对后端缓存服务器的连接数。Twemproxy是由Twitter开源出来的缓存服务器集群管理工具,主要用来弥补Redis/Memcached 对集群(cluster)管理的不足。

antirez(Redis作者)写过一篇对twemproxy的介绍,他认为twemproxy是目前Redis 分片管理的最好方案,虽然antirez的Redis cluster正在实现并且对其给予厚望,但从现有的cluster实现上还是认为cluster除了增加Redis复杂度,对于集群的管理没有twemproxy来的轻量和有效

回答: Redis集群使用了哈希槽分区的方式来存储数据。集群将整个数据空间分成了16384个槽位,每个节点负责其中一部分槽位的数据存储。槽位的信息存储在每个节点中。\[1\]对于槽位的转移和分派,Redis集群不会自动进行,而是需要人工配置。因此,Redis集群的高可用性依赖于节点的主从复制和主从间的自动故障转移。\[1\] 在Redis集群方案中,推荐使用Redis cluster,除非是超大规模的集群,优先考虑使用Redis cluster。对于旧项目仍在使用codis的情况,可以继续使用,但也推荐迁移到Redis cluster。不建议使用twemproxy,因为它不能平滑地扩容。同时,客户端分片也应当禁止使用,因为扩容复杂,如果有多个服务同时读写,其中一个修改了路由,另一个不修改会出现问题。\[2\] Redis集群采用去中心化架构,不依赖外部存储。每个节点都有槽位信息和一部分数据。各个节点之间使用gossip协议交互信息。数据根据分片规则被划分为16384个槽位,每个key根据crc16 % 16384的结果来确定对应的槽位id。每个Redis节点存储了一部分槽位的数据,各个节点共同分担16384个槽位。客户端需要遵守Redis cluster规范来读写数据。当客户端连接到集群时,会得到一份集群的槽位配置信息,并在本地缓存了槽位到节点的映射关系,以便能够直接定位到对应的Redis节点。\[3\] 综上所述,Redis集群使用哈希槽分区的方式来存储数据,每个节点负责一部分槽位的数据。集群的高可用性依赖于节点的主从复制和主从间的自动故障转移。推荐使用Redis cluster作为集群方案,不建议使用twemproxy和客户端分片。集群采用去中心化架构,节点之间使用gossip协议交互信息,数据根据分片规则划分为16384个槽位。客户端连接集群时会得到槽位配置信息,并在本地缓存了槽位到节点的映射关系。 #### 引用[.reference_title] - *1* [8.2 Redis集群之数据分布](https://blog.csdn.net/Jgx1214/article/details/115166950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Redis高可用之3种集群方案对比](https://blog.csdn.net/leread/article/details/130216589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值