分布式系统相关面试题

1.集群,分布式系统,微服务

分布式系统:多个服务 部署在不同的服务器

微服务: 一种服务治理理念,

2.CAP原则

P:分布式系统的一个最基本的特性, 分区容错性。

A:可用性,

CAP的 C(数据的一致性)和 ACID 中C(事物中 数据的逻辑的一致性)的区别?

一致性的种类:

强,弱,最终, 最大努力一致性,基于MQ的一致性。

Base理论:强一致性 和 可用性做一个权衡。

基本可用,软状态,最终一致性。

3.分布式事务

多个组件参与的 事务,例如: 

4中模式, 2PC,3PC,TCC,Saga 基于MQ的 分布式事务,最大努力 保证事务。

Seata:  AT模式

4.分布式锁

redis 和 zookeeper的区别。

### 关于分布式系统的常见面试题及答案 #### 面试题1:什么是CAP理论? 在设计分布式系统时,CAP定理是一个核心概念。该定理指出,在一个分布式计算环境中,不可能同时完全满足一致性(Consistency)、可用性(Availability)以及分区容忍性(Partition tolerance),最多只能同时满足其中两项[^1]。 #### 面试题2:如何理解分布式系统的一致性和可用性的权衡? 当提到一致性和可用性的取舍时,这实际上是在讨论CAP理论中的两个方面。如果要保证强一致性,则可能不得不牺牲一定的可用性;反之亦然。例如,在某些场景下为了提高用户体验可能会优先考虑高可用性而接受较弱的数据同步机制[^3]。 #### 面试题3:解释一下BASE理论及其应用场景。 BASE是对CAP中AP模型的一种补充说明,即Basically Available(基本可用),Soft state(软状态), Eventually consistent (最终一致性)。这种模式适用于那些可以忍受一定时间内数据不一致的应用程序,比如社交网络或者推荐引擎等非金融类业务领域。 #### 面试题4:描述一种常见的解决分布式事务的方法。 对于不需要严格实时更新但又希望保持全局视图一致性的应用来说,可以通过引入消息队列(MQ)来异步处理跨服务之间的操作。这种方式能够有效地降低各组件间的耦合度并提升整体性能表现,尤其是在电商、支付等行业中有广泛应用案例[^2]。 ```python import pika def send_message(queue_name, message_body): connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue=queue_name) channel.basic_publish(exchange='', routing_key=queue_name, body=message_body) print(f"Sent '{message_body}' to queue {queue_name}") connection.close() send_message('order_updates', 'Order placed successfully') ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值