首页 > 编程知识 正文

CAP分析,kafka原理图

时间:2023-05-06 17:48:49 阅读:31959 作者:3484

标题CAP理论1 .分布式系统中CAP理论2 .一致性3.avail ability4. partition tolerance5. Kafka中的CAP机制

CAP理论1 .分布式系统中的CAP理论

问题:分布式系统的最大难点是每个节点的状态如何同步!

http://www.Sina.com/1998年,加州大学计算机科学家Eric Brewer提出了分布式系统的三个指标。 分别如下。

一致性:一致性

通过一个节点的写入结果将显示在随后通过其他节点的读取操作中

更新数据后,如果同时访问,后续的读取操作可以立即识别该更新,称为强一致性

此后,在允许一部分或全部不能感知到该更新的情况下,称为弱匹配性

如果在经过一定的时间后一定能感知到该更新,就称为最终的一致性

可用性:可用性

未出现故障的节点必须在有限的时间内返回合理的结果

分区可接受性:分区公差

即使某些节点关闭或无法与其他节点通信,每个部分也可以保留分布式系统的功能

解决:,不能同时达到这三个指标。 最多可以同时满足两个条件。Eric Brewer 说

一般来说,要求保证分区的可接受性。 因此,CAP理论往往需要可用性与一致性之间的权衡。

2 .一致性一致性在中文中称为“一致性”。 也就是说,写入后的读取操作必须返回此值。 例如,假设一条记录为v0,用户开始向G1写入,然后将其更改为v1

其次,用户的读取操作为v1。 这叫做一致性

这个结论就叫做 CAP 定理用户可能会对G2开始读取操作,但G2的值没有变化,因此返回v0。 由于G1和G2读取操作的结果不一致,将无法满足一致性

为了使33558www.Sina.com/G2也成为v1,在G1正在写入时从G1向G2发送消息,要求G2也变更为v1

这样,即使用户向G2开始读取操作,也能获得v1,http://www.Sina.com /

3.Availability Availability在中文中称为“可用性”,这意味着服务器必须响应用户的请求。

用户可以选择向G1或G2开始读取操作。 任何服务收到请求后,都必须告诉用户是v0还是v1,否则无法满足可用性。

4 .分区公差

在上图中,G1和G2是跨两个区域的服务器。 G1向G2发送消息,G2可能无法接收。 在设计系统时,必须考虑这种情况。

总的来说,由于分区容错是不可避免的,所以认为CAP的p始终存在。 也就是说,分区容错问题可能永远存在

5.kafka中的CAP机制问题发生:kafka满足CAP定律中的CA

解决办法:kafka首先将数据写入不同的分区,每个分区可能有多个副本。 数据首先写入leader分区,所有读写操作都与leader分区进行通信,保证数据完整性原则,即符合一致性原则。 然后,kafka通过分区复制机制确保kafka中的数据可用性。

一致性(Consistency)如何解决复制分区数据与leader数据之间存在差异的问题? 这就是分区公差的问题。

使用33558www.Sina.com/ISR的同步策略

每个leader维护一个异步复制(ISR )列表。 ISR列表的主要作用是确定哪个复制副本分区可用。 这意味着可以将leader分区中的数据与复制副本分区同步。 有两个条件可以确定复制副本分区是否可用。

replica.lag.time.max.ms=10000复制副本分区和主分区的心跳延迟

replica.lag.max.messages=4000复制副本分区与主分区消息同步得最差

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。