微服务-CAP和AKF拆分原则

什么是CAP?

C:一致性

A:高可用性

P:分区容错性

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

CA(一致性+高可用性)

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

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

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

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

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

AKF拆分原则

借用慕课网的图

相关推荐
sunny_4 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
兆子龙9 小时前
模块联邦(Module Federation)详解:从概念到手把手 Demo
前端·架构
程序员清风10 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
李广坤10 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Bigger10 小时前
告别版本焦虑:如何为 Hugo 项目定制专属构建环境
前端·架构·go
皮皮林55111 小时前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
NE_STOP14 小时前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
狗哥哥15 小时前
微前端架构下的平台级公共组件资源体系设计
前端·架构
两万五千个小时15 小时前
落地实现 Anthropic Multi-Agent Research System
人工智能·python·架构
Mintopia16 小时前
思想长期停在事物表面的深层原因:认知机制、环境结构与技术化治理
架构