sentinel monitor配置中的建议设置成 Sentinel 节点的一半加 1,当 Sentinel 部署在多个 IDC 的时候,单个 IDC 部署的 Sentinel 数量不建议超过(Sentinel 数量 – quorum) 。
合理设置参数,防止误切,控制切换灵敏度控制:
a. quorum
b. down-after-milliseconds 30000
c. failover-timeout 180000
d. maxclient
e. timeout
部署的各个节点服务器时间尽量要同步,否则日志的时序性会混乱 。
Redis 建议使用 pipeline 和 multi-keys 操作,减少 RTT 次数,提高请求效率 。
自行搞定配置中心(zookeeper),方便客户端对实例的链接访问 。
4、Redis Cluster
Redis Cluster 是社区版推出的 Redis 分布式集群解决方案,主要解决 Redis 分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster 能起到很好的负载均衡的目的 。
Redis Cluster 集群节点最小配置 6 个节点以上(3 主 3 从),其中主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用 。
Redis Cluster 采用虚拟槽分区,所有的键根据哈希函数映射到 0~16383 个整数槽内,每个节点负责维护一部分槽以及槽所印映射的键值数据 。

文章插图
优点:
无中心架构;
数据按照 slot 存储分布在多个节点,节点间数据共享,可动态调整数据分布;
可扩展性:可线性扩展到 1000 多个节点,节点可动态添加或删除;
高可用性:部分节点不可用时,集群仍可用 。通过增加 Slave 做 standby 数据副本,能够实现故障自动 failover,节点之间通过 gossip 协议交换状态信息,用投票机制完成 Slave 到 Master 的角色提升;
降低运维成本,提高系统的扩展性和可用性 。
缺点:
Client 实现复杂,驱动要求实现 Smart Client,缓存 slots mApping 信息并及时更新,提高了开发难度,客户端的不成熟影响业务的稳定性 。目前仅 JedisCluster 相对成熟,异常处理部分还不完善,比如常见的“max redirect exception” 。
节点会因为某些原因发生阻塞(阻塞时间大于 clutser-node-timeout),被判断下线,这种 failover 是没有必要的 。
数据通过异步复制,不保证数据的强一致性 。
多个业务使用同一套集群时,无法根据统计区分冷热数据,资源隔离性较差,容易出现相互影响的情况 。
Slave 在集群中充当“冷备”,不能缓解读压力,当然可以通过 SDK 的合理设计来提高 Slave 资源的利用率 。
Key 批量操作限制,如使用 mset、mget 目前只支持具有相同 slot 值的 Key 执行批量操作 。对于映射为不同 slot 值的 Key 由于 Keys 不支持跨 slot 查询,所以执行 mset、mget、sunion 等操作支持不友好 。
Key 事务操作支持有限,只支持多 key 在同一节点上的事务操作,当多个 Key 分布于不同的节点上时无法使用事务功能 。
Key 作为数据分区的最小粒度,不能将一个很大的键值对象如 hash、list 等映射到不同的节点 。
不支持多数据库空间,单机下的 redis 可以支持到 16 个数据库,集群模式下只能使用 1 个数据库空间,即 db 0 。
复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制结构 。
避免产生 hot-key,导致主库节点成为系统的短板 。
避免产生 big-key,导致网卡撑爆、慢查询等 。
重试时间应该大于 cluster-node-time 时间 。
Redis Cluster 不建议使用 pipeline 和 multi-keys 操作,减少 max redirect 产生的场景 。
5、Redis 自研
Redis 自研的高可用解决方案,主要体现在配置中心、故障探测和 failover 的处理机制上,通常需要根据企业业务的实际线上环境来定制化 。

文章插图

文章插图
优点:
高可靠性、高可用性;
自主可控性高;
贴切业务实际需求,可缩性好,兼容性好 。
缺点:
实现复杂,开发成本高;
需要建立配套的周边设施,如监控,域名服务,存储元数据信息的数据库等;
维护成本高 。
专注于技术热点大数据,人工智能,JAVA、Python、 C 、GO、JavaScript等语言最新前言技术,及业务痛点问题分析,请关注【编程我最懂】共同交流学习 。
【Redis集群的5种使用方式,及各自优缺点对比分析】
推荐阅读
- 最奇怪的化石 可能找到化石的岩石
- 玉屏风散用汤剂剂量,中药旋覆花的副作用与禁忌
- 明月草的副作用及禁忌,明月草的正确食用方法
- 莳萝籽在调料中作用,莳萝在烹调中的作用及用法
- 黄花菜图片,黄花菜的功效
- 明日叶的神奇功效,明日叶提取物的主要用途
- 白菊花的功效与作用及禁忌,桂枝的功效与作用及禁忌
- 果槐米能直接冲水饮用吗,槐米茶能天天喝吗你知道槐米茶的功能功效吗
- 中秋祝福的诗句古诗大全?关于中秋祝福诗句_4
- 一把旧吉他的英文?一把旧吉他,再也弹不出原来的音色是什么意思
