redis-cluster
redis-cluster
-
简介
Redis Cluster是一个高性能高可用的分布式系统
-
结构图
-
特点
- 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
- 节点的fail是通过集群中超过半数的节点检测失效时才生效。
- 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
- redis-cluster把所有的物理节点映射到[0-16383]slot上(不一定是平均分配),cluster 负责维护node<->slot<->value。
- Redis集群预分好16384个桶,当需要在 Redis 集群中放置一个 key-value 时,根据 CRC16(key) mod 16384的值,决定将一个key放到哪个桶中。
-
优缺点
-
优点
将Redis的写操作分摊到了多个节点上,提高写的并发能力,扩容简单
-
缺点
- 每个Node承担着互相监听、高并发数据写入、高并发数据读出,工作任务繁重
- 如果一个节点宕机,整个集群不可用
-
-
生产中环境
-
redis-cluster与主从模式搭配使用,即可避免出现的集群宕机问题
-
架构方式(Master之间是互通的)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BHBGedct-1579358634147)(D:\学习总结\redis\redis-cluster2.png)]
-
Redis-Cluster主从节点不要在同一个机器部署
-
-
搭建教程
-
哈希一致性算法
想了解学习更多C++后台服务器方面的知识,请关注:
微信公众号:CPP后台服务器开发