微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
一 乐5 分钟前
健康管理|基于springboot + vue健康管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·学习
学编程就要猛7 分钟前
MySQL:CRUD
数据库·sql·mysql
IT技术分享社区8 分钟前
MySQL实战:自动计算字段如何让查询效率翻倍?
数据库·mysql
是三好8 分钟前
分布式事务seata
java·分布式·seata
为什么要做囚徒35 分钟前
多线程基础系列-线程死锁
java·多线程
Live&&learn38 分钟前
Redis语法入门
数据库·redis
bluetata40 分钟前
在 Spring Boot 中使用 Amazon Textract 从图像中提取文本
java·spring boot·后端
未羽出衫44 分钟前
DB-GPT本地模型+tuGragh安装使用
数据库·gpt
忧郁蓝调261 小时前
Redis不停机数据迁移:基于 redis-shake 的跨实例 / 跨集群同步方案
运维·数据库·redis·阿里云·缓存·云原生·paas
黎雁·泠崖1 小时前
Java底层探秘入门:从源码到字节码!方法调用的中间形态全解析
java·开发语言