微服务面试篇

一、分布式事务

1、CAP和BASE

1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标:

  • Consistency(一致性)

  • Availability(可用性)

  • Partition tolerance (分区容错性)

它们的第一个字母分别是 CAP。Eric Brewer认为任何分布式系统架构方案都不可能同时满足这3个目标,这个结论就叫做 CAP 定理。

假如现在出现了网络分区,如图:

由于网络故障,当我们把数据写入node01时,可以与node02完成数据同步,但是无法同步给node03。现在有两种选择:

  • 允许用户任意读写,保证可用性。但由于node03无法完成同步,就会出现数据不一致的情况。满足AP

  • 不允许用户写,可以读,直到网络恢复,分区消失。这样就确保了一致性,但牺牲了可用性。满足CP

可见,在分布式系统中,AC之间只能满足一个。

BASE理论是对CAP的一种解决思路,包含三个思想:

  • B asicallyA vailable 基本可用**)**:分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。

  • S oft State**(** 软状态**):**在一定时间内,允许出现中间状态,比如临时的不一致状态。

  • Ev entually Consistent**(** 最终一致性**)**:虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。

2、AT模式的脏写问题

3、TCC模式

4、最大努力通知

二、注册中心

三、远程调用

四、服务保护

五、其他

相关推荐
liang_jy3 小时前
文件管理(四)—— 文件存储空间管理
面试·操作系统
煎饼学大模型3 小时前
Agent 的“大脑-手“解耦架构:当推理层和工具执行层各自独立演进
数据库·人工智能·oracle·架构·agent
liang_jy3 小时前
文件管理(三)—— 文件目录
面试·操作系统
feng尘9 小时前
深度解析布隆过滤器(Bloom Filter):原理、优缺点与 1000 万黑名单实战
后端·面试
beibeix20159 小时前
MITK中微服务三套注册表数据结构分析
微服务·mitk
韩楚风10 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
Slice_cy10 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(五)
前端·后端·架构
heimeiyingwang10 小时前
【架构实战】Helm Chart 进阶:依赖管理、测试与 CI/CD 集成
ci/cd·架构
四眼肥鱼10 小时前
【Nextjs】macos 系统运行报错:Error: Cannot find module '../lightningcss.darwin-x64.node'
前端·架构·前端框架
触底反弹10 小时前
🔥 从 MySQL 到 Milvus:用 AI 日记本项目搞懂向量数据库和 RAG
javascript·人工智能·面试