标签:des style blog http io ar color 使用 sp
分布式系统的特性是能够在高延迟或不可靠的传输条件下进行状态交换。如果要保证系统的操作的可靠性,必须保证在节点及网络两方面故障发生时的健壮性,但并非所有系统都能够满足我们所要求的安全能力。在本文中,我们将探索分布式数据库在设计上的一些考虑,以及它们是如何对网络分区的情况作出响应。
在两个节点间发送消息时,IP网络可能会任意地删除、延迟、重新排序或复制消息,因此许多分布式系统都使用TCP以防止消息的重新排序与复制。但TCP/IP在本质上仍然是异步的:网络会任意地延迟消息,连接可能会被随时切断。此外,对故障的诊断也并不可靠:要判断某个节点是否出现故障、网络连接是否被切断、或者操作是否比预计中运行得慢也许是不可能实现的。
消息被任意地延迟或切断的这种故障叫做网络分区。分区可能出于多种原因发生在生产环境的网络中:垃圾回收(GC)的压力、网卡(NIC)故障、交换机故障、配置出错、网络拥塞等等。由于分区的发生,使CAP定理限制了分布式系统能够达到的最大担保能力。当消息被切断时,“一致的”(CP)系统会拒绝某些节点的请求,以保持线性一致性。“可用的”(AP)系统虽然能够处理所有节点上的请求,但必须牺牲线性一致性,因为不同的节点对于操作的顺序可能会产生不同意见。当网络情况良好时,系统可以保证一致性与可用性,但由于真实的网络中总会产生分区,因此不存在能够完全做到“一致且可用”(CA)的系统。
2.1、CDRT:Conflict-Free Replicated Data Types: http://www.tuicool.com/articles/a63eiu
标签:des style blog http io ar color 使用 sp
原文地址:http://www.cnblogs.com/njuzhoubing/p/4140467.html