高可用+可伸缩存储方案

  1. 知足高可用,惟一的办法是副本镜像方案。
  2. 知足可伸缩,惟一的办法是分片方案。
  3. 业界实践证实,先将全量数据分片,再对分片作多副本镜像这样的组合方案,在资源利用率、可用性、伸缩性各方面都很均衡。如HDFS、RedisCluster、RocketMQ等都是采用这种组合方案来存储数据的。
  4. 这种思想在存储领域是普遍存在的,不光在软件层面,在存储硬件层面也采用了相似的解决方案,表明方案是冗余磁盘阵列——Raid:
    • Raid0是多个磁盘线性串联,造成对全量存储空间的分片,仅知足弹性伸缩;
    • Raid1则是让多个磁盘造成主备实现冗余,仅知足高可用;
    • Raid10则是结合以上两者实现高可用+弹性伸缩。