• 《架构设计之[CAP定理]》读后感


      现在有许多互联网项目都是采用分布式结构进行部署。而cap定理是分布式系统中最近出的原则。所以对于哦我们来说,学习cap非常重要。CAP定理又称为布鲁尔定理。CAP定理是指对于一个分布式系统,不能同时满足一致性,可用性,分区容错性。

       一致性(Consisteny)是指,对于任何客户端来说,每次的读操作,都能获得最新的数据。即。当有客户端向A节点写入了新数据之后。从节点B读到的数据也是最新的,与A节点数据保持一致。可用性(Availability)是指,每个请求都能在合理的时间内获得符合预期的响应。简而言之,只要客户端发起请求时,必须给客户回复,不用保证回复的值是否正确。分区容错性(Partition tolerance)是指当节点之间的网络出现问题后,系统依然能正常提供服务。

       应用CAP定理,共有两个架构:cp架构和ap架构。(1)Cp架构是一致性和分区容错性的组合。该结构是指当节点a和节点b不能通讯时,有客户端向节点A进行写入,A节点不接受写入。这样就保证了节点A和节点B的一致性。当客户端请求读出数据时,节点返回网络出现问题之前的数据,这样就保证了分区容错性。(2)ap架构是可用性,分区容错性的组合架构。该结构是指当节点a和节点b不能通讯时,有客户端向节点A进行写入,A节点接受写入。当数据从节点B读出数据时,读出的还是节点a和节点b不能通信时的a的数据,不能读出a新增的数据。但是由于系统能照常提供服务,所以满足了可用性的要求。

    Cp和ap架构可以自不同情况下进行应用,例如:在电商系统中,属于用户模块的数据(账密,钱包余额等)对一致性要求没那么高,但是为了照顾用户体验没所以对可用性要求更高一点,那么这个模块可以采用ap架构。

    除了cp架构和ap结构,还有ca架构。但是当系统发生网络故障时不能使用ca架构。但是在我们的生活中大多数时间没有网络故障,所以可以采用ca架构。

    学习完cap感觉对我们以后设计架构软件时比较有用,尤其是分布式部署系统时,根据具体的功能需求,舍弃掉或放松一些cap特性。当我们不能全都满足时,挑选重要的体位性进行满足,让用户体验更加好。

     

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    拼接个URL你也能搞错,还写个屁的爬虫
    在 Python 中接管键盘中断信号
    关于re.sub从匹配的文本中处理后之际替换匹配匹配到的数据
    loguru 如何把不同的日志写入不同的文件中
    Linux 中,没有 zip命令,怎么生成 zip 文件?
    mysql查询tinyint变成true,false;
    muislider设置选项卡,muislider设置默认选项卡
    js数组排序 js排序
    "enablePullDownRefresh": false,mui配置是否下拉刷新,mui配置下拉刷新
    Webview窗口刷新
  • 原文地址:https://www.cnblogs.com/wl2017/p/10667778.html
Copyright © 2020-2023  润新知