CAP理论的理解

本文介绍了CAP理论的发展历史,阐述其背景和定义,指出在分布式系统中不可能同时满足一致性、可用性和分区容错性。通过实例展示了CAP理论在实践中如何应用,如Kafka倾向于速度而牺牲一致性,RabbitMQ和Nacos在金融系统中选择CP保证数据一致性。
摘要由CSDN通过智能技术生成

什么是CAP:

        CAP的发展史:

                2000年7月,Eric Brewer教授提出CAP猜想;2年后,Seth Gilbert和Nancy Lynch从理论上证明了CAP;之后,CAP理论正式成为分布式计算领域的公认定理。

          CAP的背景和定义:

                CAP理论讨论的对象是分布式场景。一个分布式系统需要满足三个最基本的特性,分别是一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance,这个中文翻译很不直观,没能体现Partition原来的意思,这也人为拉高了理解成本,至少对以前的我是这样,后面会单独介绍)。CAP理论的简单解释就是,不可能存在一个完美的分布式架构,能同时满足这三个特性。架构师们不要试图花精力去设计一个“完美”的架构来满足这三个特性,而是应该因地制宜,根据实际的需求在CAP之间做权衡。

        CAP理论主要分为三个地方去说明:

                C: consistence   主要代表的是一致性

                A: Availability    主要代表的是可靠性

                P: Partition tolerance 主要代表的是分区容错性

         CAP理论的作用以及用法:

                CAP理论的作用:

                        CAP的作用是最多能同时满足两个条件,不能三个都满足. 目前的分布式要么是满足AP ,要么是CP.但是这个是是没有CA的,因为P是分布式的主要核心如果没有P就像是分布式里的大核心一样.

                CAP理论的用法:

                        kafka:  AP :能用  速度要快
                        rabbitMQ : cp  金融系统  电商系统强调数据一致
                        nacos 还是cp or ap?   默认为AP。  但是可以进行切换: 
                        切换:curl -X PUT "http://localhost:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP"
                        curl -X PUT "http://localhost:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=AP"    
 

         

        

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值