微服务 - CAP和AKF拆分原则
# 什么是CAP?C:一致性
A:高可用性
P:分区容错性
一个系统无法同时满足CAP,只能是两两组合。CA、CP或者AP
## CA(一致性+高可用性)
想要同时具备一致性和高可用性,往往采用的都是单体服务架构数据存储,但服务是部署多份的。形成了多个服务节点对接同一个数据库的场景。
!(https://tc2.qlulu.top/img/blog/202410181005885.png)
## CP (一致性和分区容错性)
想要同时具备一致性和分区容错性,高可用性就不能被保证,因为此时虽然通过扩展多台数据库保证了分区容错性,但是忧郁需要保证强一致性,在一台数据库有写入数据操作时,其他数据库也要同步写入,此时会加上写锁,阻塞其他服务的读/写请求
!(https://tc2.qlulu.top/img/blog/202410181014562.png)
## AP(高可用性与分区容错性)
同时保证了高可用性和分区容错性,大多数公司在用的架构。此时是无法保证强一致性的,但是可以通过一些手段,来保证弱一致性,过程中无法数据完全一致,允许一定的消息时延,只需要后期能在特定时间(闲时或指定时间)同步,从而达到最终一致性!解决方案如:异步复制、基于日志同步、定时对账与同步等等
!(https://tc2.qlulu.top/img/blog/202410181026399.png)
# AKF拆分原则
借用****的图
!(https://tc2.qlulu.top/img/blog/202410171007301.png) 既然学了就要学以致用,那么你认为52破解论坛适用于CAP理论中哪两个特性 VioletKiss 发表于 2024-10-21 09:47
既然学了就要学以致用,那么你认为52破解论坛适用于CAP理论中哪两个特性
分析一下论坛,分层次来看,大部分是AP,少部分是CP(例如吾爱币)不出意外是AP,C通常是最终一致性来保证的。
A是高可用性,是论坛访问的基础,所以不能缺
P是分区容错性,对于文章、附件等持久化资源是必须的,防止一处失火则数据丢失
C是吾爱币这种涉及到“金融交易”的服务所需要的,若没有强一致性,则容易出现各节点之间的数据不一致的时候,导致货币数量不一致(例如签到、扣除币等)。当然也有其他技术手段避免,但是代价会更高,做成强一致性会更简单。
页:
[1]