微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

一个系统无法同时满足CAP,只能是两两组合。CA、CP或者AP

CA(一致性+高可用性)

想要同时具备一致性和高可用性,往往采用的都是单体服务架构数据存储,但服务是部署多份的。形成了多个服务节点对接同一个数据库的场景。

CP (一致性和分区容错性)

想要同时具备一致性和分区容错性,高可用性就不能被保证,因为此时虽然通过扩展多台数据库保证了分区容错性,但是忧郁需要保证强一致性,在一台数据库有写入数据操作时,其他数据库也要同步写入,此时会加上写锁,阻塞其他服务的读/写请求

AP(高可用性与分区容错性)

同时保证了高可用性和分区容错性,大多数公司在用的架构。此时是无法保证强一致性的,但是可以通过一些手段,来保证弱一致性,过程中无法数据完全一致,允许一定的消息时延,只需要后期能在特定时间(闲时或指定时间)同步,从而达到最终一致性!解决方案如:异步复制、基于日志同步、定时对账与同步等等

AKF拆分原则

借用慕课网的图

相关推荐
找了一圈尾巴8 分钟前
Agent 架构的记忆系统:从滑动窗口到离线整合,一套分层记忆设计
架构·agent
爱敲代码的TOM10 分钟前
10.27 易购软件 Java开发线下一面
java·开发语言
yuzhiboyouye11 分钟前
String、StringBuilder、StringBuffer 区别(面试题)
java
斯维赤27 分钟前
微信步数的10点定时推送,看似简单,实则暗藏玄机
java·后端
Linux_cy35 分钟前
服务器管理方案选型:面板 / SSH 客户端 / 桌面型客户端怎么选
java·linux·运维·服务器·ssh·可视化·gmssh
系统集成-鹰翔35 分钟前
ERP接口月度统计少了零单月份:SQLite分组与最近三个月均值排查
javascript·数据库·经验分享·后端
ClouGence36 分钟前
支付机构为什么需要数据同步:从监管报送到跨云业务协作
数据库·数据分析
我不会起名字32240 分钟前
服务注册了却调不通:注册中心与心跳的 3 个时间参数
微服务·nacos·注册中心·排查
wuyk5551 小时前
PyQt6-第14讲-数据库与Excel双向同步
数据库·python·ui·excel·pyqt
可乐_不渴1 小时前
【Linux】 进程虚拟地址空间
java·linux·javascript