微服务面试篇

一、分布式事务

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、最大努力通知

二、注册中心

三、远程调用

四、服务保护

五、其他

相关推荐
Alex艾力的IT数字空间1 小时前
设计既保持高性能又兼顾可移植性的跨平台数据结构
数据结构·分布式·算法·微服务·中间件·架构·动态规划
不爱笑的良田1 小时前
从零开始的云原生之旅(十四):Ingress Controller 实战:Nginx Ingress 深度解析
微服务·云原生·istio
液态不合群2 小时前
DDD驱动低代码开发:从业务流程到领域模型的全链路设计
前端·低代码·架构·ddd
失散132 小时前
架构师级别的电商项目——2 电商项目核心需求分析
java·分布式·微服务·架构·需求分析
nnn__nnn3 小时前
卷积神经网络经典架构全景解析:从 ILSVRC 竞赛到视觉技术的生态级演进
计算机视觉·架构·cnn
拉不动的猪3 小时前
一文搞懂:localhost和局域网 IP 的核心区别与使用场景
前端·javascript·面试
菜鸡儿齐4 小时前
本地事务实效-分布式架构
分布式·架构
打码人的日常分享4 小时前
基于信创体系政务服务信息化建设方案(PPT)
大数据·服务器·人工智能·信息可视化·架构·政务
小坏讲微服务4 小时前
Spring Cloud Alibaba整合SkyWalking的监控完整使用
java·微服务·架构·springcloud·监控·skywalking·java微服务