微服务面试篇

一、分布式事务

1、CAP和BASE

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

  • Consistency(一致性)

  • Availability(可用性)

  • Partition tolerance (分区容错性)

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

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

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

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

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

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

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

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

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

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

2、AT模式的脏写问题

3、TCC模式

4、最大努力通知

二、注册中心

三、远程调用

四、服务保护

五、其他

相关推荐
stormzhangV3 小时前
涨薪 50% 怎么做到的?
人工智能·面试·aigc
Eyfcom4 小时前
〖全球化架构 05〗跨国网络专线优化:QUIC 协议与 SD-WAN 在跨境传输中的实战
网络·架构·跨境物流快递系统·全球化架构
聪明的笨猪猪5 小时前
Java 工程案例:AI 生成 @Async 异步线程池踩坑
java·经验分享·面试·ai编程
李剑一7 小时前
别再抬杠,前端岗已经没了!无论前后端,我们最终都要成“全干”工程师
前端·面试
Yuzhiyuxia7 小时前
【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点
人工智能·安全·面试
Tapdata9 小时前
被忽略的第三类上下文:Agent 进入真实业务后,还缺什么?
数据库·人工智能·架构
赤生云电竞10 小时前
GPU算力共享平台架构实践:任务分发与资源隔离的关键配置
算法·架构·gpu算力
时间的拾荒人12 小时前
Redis 集合类型详解:Set 与 Zset
redis·缓存·面试
一条Go12 小时前
OnCall 时段路由:跨午夜、左闭右开与「Local 不是时区」
后端·架构·github
wo_jack13 小时前
C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?
数据结构·c++·面试·stl·list