微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
IndulgeCui3 分钟前
KES集群部署安装问题记录
数据库
毕设源码-朱学姐6 分钟前
【开题答辩全过程】以 基于微服务架构的会计云学堂的设计与实现为例,包含答辩的问题和答案
微服务·云原生·架构
Yilena8 分钟前
通过mysqldump进行数据迁移时权限不足的解决方案
数据库·学习
韩立学长15 分钟前
基于Springboot酒店管理系统的设计与实现c12044zy(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
han_hanker16 分钟前
统一拦截异常 @RestControllerAdvice
java·开发语言·数据库
忘记92631 分钟前
什么是spring boot
java·spring boot·后端
Hello World呀34 分钟前
Java实现手机号和身份证号脱敏工具类
java·开发语言
REDcker35 分钟前
QQ APP技术架构分析报告
架构·qq
曹牧36 分钟前
Java:serialVersionUID
java·开发语言
herinspace38 分钟前
管家婆软件年结存后快马商城操作注意事项
服务器·数据库·windows