
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分布式系统是程序员在学习软件开发技术的时候会经常用到的一个开发技术,而今天我们就通过案例分析来了解一下,分布式系统架构都就被哪些特性。
在一个分布式系统(指互相连接并共享数据的节点的集合)中,在读/写操作的时候,一致性(Consistence)、可用性(Availability)、分区容错性(PartitionTolerance)只能同时保证其中两者,比如我们上面说两种情况,虽然分布式有读写操作,但是系统之间没有共享数据和相互连接,所以我们可以保证这3者同时存在。这里我们思考一个场景来解释下什么是共享数据和相互连接,就拿我们经常使用的淘宝买东西来说吧,当你买一件东西的时候,需要查看你的余额,然后发生扣款,打入到三方账户种,这里你的钱就是共享数据和相互连接,明白这两个概念我们就来解释解释CAP的概念。
一致性(Consistence):其实就是类似于事务的隔离性,客户端不会读取到正在提交的事务,只有提交成功以后才客户端才可以查询到变更的信息,举个形象一点的例子来说,淘宝在你下单成功以后才会扣你的钱,不会下单失败了扣你的钱,在你下单的过程中你的账户里面的钱是不会动的,这就是一致性;
可用性(Availability):非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应),这个我感觉不需要举例子吧,就是系统的每个功能都能正常的返回结果;
分区容错性(PartitionTolerance):当发生网络分区后,系统依然能够发挥原来的作用,举个例子就是当ES某个节点挂掉的时候我们依然可以正常使用,这个例子可能不是恰当,但是能说明分区容错性的重要性,后面我们再来讨论下ES的CAP设计,这还是一件蛮有意思的事情;
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。