微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
淘源码d10 小时前
上门家政源码,基于Java/SpringBoot和Uniapp的全栈家政预约平台,支持多端适配(小程序/H5/APP)
java·vue.js·源码·家政·家政小程序源码·上门家政·家政平台
夏幻灵10 小时前
[从零开始学JAVA|第一篇 ] 分清关键字 方法名 字面量 标识符
java·开发语言
小徐Chao努力10 小时前
【Langchain4j-Java AI开发】03-提示词与模板
java·开发语言·人工智能
海南java第二人10 小时前
Spring Bean作用域深度解析:从单例到自定义作用域的全面指南
java·后端·spring
cike_y10 小时前
Spring5入门&IOC容器
java·开发语言·spring·jdk·ioc·jdk1.8
herinspace10 小时前
管家婆网店ERP如何录入成本调价单
服务器·数据库·oracle·智能手机·电脑
三斗米10 小时前
Transformer入门:一文读懂《Attention Is All You Need》
算法·架构
短剑重铸之日10 小时前
7天读懂MySQL|Day 1: MySQL 架构全景
数据库·mysql·架构
悟空码字10 小时前
SpringBoot 整合 Nacos,让微服务像外卖点单一样简单
java·spring boot·后端
鹏北海10 小时前
Single-SPA 学习总结
前端·javascript·微服务