Swift API概述

CAP定理

  • 一致性(Consistency) (等同于所有节点访问同一份最新的数据副本)
  • 可用性(Availability)(每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据)
  • 分区容错性(Partition tolerance)(以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择[3]。)

根据定理,分布式系统只能满足三项中的两项而不可能满足全部三项[4]。理解CAP理论的最简单方式是想象两个节点分处分区两侧。允许至少一个节点更新状态会导致数据不一致,即丧失了C性质。如果为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质。除非两个节点可以互相通信,才能既保证C又保证A,这又会导致丧失P性质。

Swift是一个典型的AP系统:在满足分区容错性的情况下,提高可用性。但不同的客户看到操作以不同的顺序执行,从而看到不一致的数据。事实上,在某些特殊情况下,有可能客户刚写入一个新值,看到写成功完成,然后读数据,结果检索出来却是旧数据。实际上,Swift保证收敛到一个一致的状态需要经过一段时间并且系统需要处于较低负载下。因此,应用程序需要从设计上适应swift的最终一致性

Swift的亮点:高可用性、冗余性和高吞吐量

由于Swift的最终一致性,任何需要有事务特性或需要ACID保证的应用程序通常不适合应用Swift。
Swift擅长高可用性、冗余、高吞吐量和海量存储。为了专注于可用性而不是一致性,Swift没有事务操作和锁定延迟。高并发读取非常快,甚至高并发写完成也非常快。
Swift具备优秀的高可用性:如果网络是不可靠的,强一致性的分布式系统必须停止,但是Swift可以继续存储和检索数据。
Swift的优秀应用场景包括:

  • 使用web应用程序存储数据
  • 在海量数据集上进行并行非锁定的操作
  • 服务于高负载场景,如高流量网站
  • 服务水平协议(SLA)包括高可用性和保证耐久性的系统
  • 存储大型独立文件,如照片或视频
  • 企业解决方案,如存储共享项目数据或内网服务数据
  • 存储磁盘映像文件,如备份快照镜像或数据中心机器的配置镜像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值