微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
無限進步D16 小时前
Java 运行原理
java·开发语言·入门
難釋懷16 小时前
安装Canal
java
是苏浙16 小时前
JDK17新增特性
java·开发语言
不光头强16 小时前
spring cloud知识总结
后端·spring·spring cloud
Mike117.16 小时前
GBase 8a 日期边界写法和时间窗口取数偏差
数据库
SPC的存折18 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
阿里加多20 小时前
第 4 章:Go 线程模型——GMP 深度解析
java·开发语言·后端·golang
likerhood20 小时前
java中`==`和`.equals()`区别
java·开发语言·python
小小李程序员20 小时前
Langchain4j工具调用获取不到ThreadLocal
java·后端·ai
zs宝来了21 小时前
AQS详解
java·开发语言·jvm