微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
数据知道5 小时前
IDOR 不安全的直接对象引用:API 越权实战检测
java·开发语言·网络·安全·网络安全
堕落年代5 小时前
Ollama CPU 推理大提示词优化实测报告(细致化数据版)
java·后端·spring
c238565 小时前
# Mini OJ — 项目详解文档
开发语言·数据库·c++
KobeSacre6 小时前
ForkJoinPool 源码
java
DFT计算杂谈6 小时前
C4T交错磁体中的超导交织序向列涨落与自旋流环涨落的选择机制
大数据·数据库·人工智能
2601_965798476 小时前
My Honest Review of Rank Math SEO Pro for Beginner Sites
数据库·人工智能·php
starzy19906 小时前
Soloop 智能视频创作全流程实战指南
数据库·microsoft·音视频
wear工程师6 小时前
Kafka 消费者心跳正常,为什么还会被踢出组?拆清 max.poll.interval.ms
java·kafka
cfm_29146 小时前
基于OAuth2.0实现微服务SSO单点登录
后端·spring·微服务·架构
SemiTris6 小时前
为什么 C/C++ 不走 Java 式的虚拟机跨平台路线?
java·程序员