cap_consistency_model

  • 一致性(Consistency) 对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。

  • 可用性(Availability) 任何客户端的请求都能得到响应数据,不会出现响应错误。换句话说,可用性是站在分布式系统的角度,对访问本系统的客户的另一种承诺:我一定会给您返回数据,不会给你返回错误,但不保证数据最新,强调的是不出错。

  • 分区容错性(Partition tolerance)由于分布式系统通过网络进行通信,网络是不可靠的。当任意数量的消息丢失或延迟到达时,系统仍会继续提供服务,不会挂掉。换句话说,分区容忍性是站在分布式系统的角度,对访问本系统的客户端的再一种承诺:我会一直运行,不管我的内部出现何种数据同步问题,强调的是不挂掉。

浅谈概念

一致性

可用性

分区容错性

Redis 分片集群

商品库存扣除

一致性(Consistency)

  • 用户下单,要么下单成功有订单、要么下单失败无订单
  • 按照下单先后,如果有库存就能下单成功
  • 高并发情况下不能出现超卖或少卖的情况

可用性(Availability)

  • 每个下单的请求都不能超时

分区容错性(Partition tolerance)

用户余额扣除

参考资料