Redis_延伸架构问题

1/18/2021 Redis

# Redis延伸架构问题

# 单机Redis

单机Redis存在的问题

  • 单点故障

    • 主从、主备
  • 容量有限

  • 压力

# AKF

分布式拆分原则

image-20210714160335459

  • X轴 全量、镜像
  • Y轴 业务、功能
  • Z轴 优先级、逻辑、可用区

# CAP

CAP 原则指的是,一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾

# 一致性

主从、主备结构数据一致性方案

image-20210714134245286

  • 强一致性

    会破坏可用性

  • 弱一致性

    会丢失数据

  • 最终一致性

# 可用性

如何保证“主”的高可用

  • 监控,如果“主”出现故障要换下来,判断是否故障需要过半的监控确定故障

    • 为什么要过半

      推导,如果不过半可能会出现“脑裂”

# 分区容忍性

# Redis如何解决容量问题

  • 解决容量问题的方式
    • 业务拆分(数据可以分类)
    • hash(数据没办法拆分)
      • modula
      • random
      • kemata

image-20210714154849311

  • hash的弊端针对Redis而言就是只能做缓存使用,不能做数据库

    如何解决呢?

    预分区

    image-20210714164624351

    需要数据迁移,迁移完成之后切换

# Redis如何解决连接成本高问题

image-20210714155354549