微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
计算机毕设指导61 分钟前
基于微信小程序的电子数据取证知识测试系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij idea
编织幻境的妖3 分钟前
Python with语句与上下文管理器详解
开发语言·数据库·python
小雨下雨的雨3 分钟前
第2篇:Redis持久化机制详解(RDB与AOF)
数据库·redis·缓存
盐焗西兰花5 分钟前
鸿蒙学习实战之路-Java 开发者快速上手 ArkTS 指南
java·学习·harmonyos
寒水馨5 分钟前
javax.servlet : javax.servlet-api 中文文档(中英对照·API·接口·操作手册·全版本)以4.0.1为例,含Maven依赖
java·后端
JavaBoy_XJ5 分钟前
xxl-job在 Spring Boot 项目中的完整配置指南
java·spring boot·后端·xxl-job配置
okseekw6 分钟前
JDK8 Stream流保姆级教程:从入门到实战,告别繁琐遍历
java·后端
踏浪无痕8 分钟前
缓存一致性的工业级解法:用Java实现Facebook租约机制
后端·面试·架构
remaindertime9 分钟前
一文掌握 Spring AI:集成主流大模型的完整方案与思考
后端·spring·ai编程
saber_andlibert9 分钟前
【docker】 镜像的制作——主从数据库创建
数据库·docker·容器