分布式理论 CAP&BASE

在前面的 HBase 篇和 ZooKeeper 篇都有稍微提到了一点 CAP 相关的内容,这是分布式系统设计绕不开的一个话题,CAP 理论告诉我们一个真理,“没有最完美的系统,只有最合适的”,我们没法做到面面俱到,但是我们可以根据需求去选择我们需要的特性。大数据的面试这些分布式原理和理论相关的内容是少不了的,这块内容一般会出现在架构设计的场景问题中。

本篇面试内容划重点:一致性问题。

什么是 CAP?

说 CAP 之前必须要明白的一个问题是,什么是分布式系统?随着技术和社会的发展,互联网服务的用户量和数据量爆发式增长,性能有限和稳定性差的单节点服务逐渐无法满足公司的需求,既然一台服务器不行,那就多台服务器一起提供服务,让多台服务器分担单节点的压力,这就是分布式。分布式系统看起来很美好,能解决扩展性、稳定性、高可用、高性能、高并发等问题,但是其实让多台服务器协同工作并不是那么简单的一件事情,看似美好的同时我们还有很多的问题要解决。比如 CAP 的取舍问题。

在理论计算机科学中,CAP 定理又被称作布鲁尔定理(Brewer's theorem),它指出对于一个分布式计算系统来说,最多只能满足“一致性(Consistency)”、“可用性(Availability)”和“分区容忍性(Partition Tolerance)”这三项中的两项:

  • 一致性:一致性指的是数据的一致性,即所有节点在同一时间的数据完全一致,客户端在同一时刻无论从哪个节点获取数据都能够获取到相同的结果。
  • 可用性

你可能感兴趣的:(详解大数据面试核心知识)