CAP理论
这个怎么说呢???网上说的天花乱坠,说什么的都有,很早以前我感觉我理解了,现在回过头完全不知.... 首先我先描述下CAP,然后再详细解释。 1、可用性,也就是所谓的A(Consistency) 是指系统中任何一个节点宕机,其他节点也可以继续对外正常(此处待议)提供服务。 2、一致性,也就是所谓的C(Availability) 这个是比较好理解的,是指数据在任何时候,读取数据都是一致的,此处一致性指的是强一致性。 3、分区容忍性,也就是所谓的P(Partition tolerance) 这个是比较抽象点,分区容忍性强调是指系统中的节点因网络原因中断连接,导致出现分区现象,可以理解原本是整体,节点之间相互交互。出现这个现象和可用性不同地方在于,都可对外提供服务,但因出现分区,如果数据分区存储,就会出现对外提供数据异常。 争议问题 可用性: 什么算可用?什么算不可用?我程序出现异常,返回一个程序异常提示,算可用?如果算,那这个可用性就好处理了,处理不了我就都返回,那我就可以说我的程序是可用的???还是说可用指的是可以正常的业务场景处理,A、B两节点,A节点宕掉,B节点可以继续处理请求。所以,理解不同导致网上说法也大不一样。 一致性: 一致性是指强一致性,虽然时间差距在毫秒也不可否认有差距。大部分主从结构都是这样的,写入主节点后,会有线程会将数据写一份给从库