# Redis延伸架构问题
# 单机Redis
单机Redis存在的问题
单点故障
- 主从、主备
容量有限
压力
# AKF
分布式拆分原则
- X轴 全量、镜像
- Y轴 业务、功能
- Z轴 优先级、逻辑、可用区
# CAP
CAP 原则指的是,一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾
# 一致性
主从、主备结构数据一致性方案
强一致性
会破坏可用性
弱一致性
会丢失数据
最终一致性
# 可用性
如何保证“主”的高可用
监控,如果“主”出现故障要换下来,判断是否故障需要过半的监控确定故障
为什么要过半
推导,如果不过半可能会出现“脑裂”
# 分区容忍性
# Redis如何解决容量问题
- 解决容量问题的方式
- 业务拆分(数据可以分类)
- hash(数据没办法拆分)
- modula
- random
- kemata
hash的弊端针对Redis而言就是只能做缓存使用,不能做数据库
如何解决呢?
预分区
需要数据迁移,迁移完成之后切换