分布式、微服务、集群的区别

才开始接触的时候我对这三个概念真的是一头雾水,尤其是对分布式和微服务的区别,下面就以我自己的理解介绍一下这三个概念

一、集群(典型的系统部署方式)

集群:同一个应用,部署在多个服务器上

就是相当于单应用的多次拷贝,分散部署在多个物理服务器,多台服务器部署相同应用构成一个集群

作用:通过负载均衡设备共同对外提供服务,从而缓解服务器压力

 

二、分布式(分模块的系统部署方式)

分布式:同一个应用拆分为不同功能模块,按模块部署在不同服务器上;

作用:以 分散模块 的方式来达到 分散压力 的目的,分布式解决网站高并发带来问题,

三、微服务(架构设计方式)

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难

 

四、三者的对比

1、分布式 VS 集群

分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,但又不像集群,有一个组织性

集群:一台服务器垮了,其它的服务器可以顶上来。

分布式:每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。

2、分布式 VS 微服务

分布式:分散压力(其实也不准确,也可以说是:以 分散能力 的方式来达到 分散压力 的目的)

微服务:分散能力(目的就是分散能力,从而达到功能间的解耦)

微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。

微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器

分布式和微服的架构很相似,只是部署的方式不一样而已。

简单的说,微服务是架构设计方式,分布式是系统部署方式,两者概念不同

### 关于分布式系统与微服务架构常见面试问题及答案 #### 1. 微服务架构属于分布式系统吗? 微服务架构确实属于分布式系统。微服务面向服务的体系结构(SOA)都是典型的分布式架构,不过微服务具有更细粒度的服务部署以及更加灵活的服务扩展能力[^1]。 #### 2. 分布式系统的主要挑战有哪些? 分布式系统的设计与实现面临着诸多挑战,主要包括但不限于: - **可扩展性**:确保系统能够随负载增长而线性扩展。 - **可靠性**:即使部分组件失效也能保持正常运行。 - **性能优化**:减少延迟并提高吞吐量。 - **复杂性的管理**:应对由多个独立运作的部分组成的整体所带来的复杂情况。 - **数据一致性维护**:解决不同节点之间共享状态同步的问题[^3]。 #### 3. CAP理论是什么?它如何影响分布式数据库的选择? CAP定理指出,在一个分布式计算环境中不可能同时满足以下三个条件: - **C (Consistency)** :所有读取操作都将返回最新的写入结果; - **A (Availability)** :每次请求都能收到非错误响应——但这并不意味着该回应包含了最新版本的数据; - **P (Partition Tolerance)** :即便网络分区发生也依然可以继续工作。 因此,在构建分布式应用时需权衡这三个特性之间的关系来决定最适合的应用场景技术栈选择[^2]。 ```python def cap_theorem_example(): """ A simple function to demonstrate the trade-offs of CAP theorem. Returns: str: Description of a scenario where consistency is prioritized over availability during network partitioning. """ return "When there's a network split, we choose strong data consistency by making one side unavailable." ``` #### 4. 如何处理微服务体系下的跨服务调用失败? 对于微服务间的远程过程调用(RPC),当遇到故障时应采取措施如重试机制、超时控制服务降级策略等方法以增强系统的鲁棒性用户体验。此外还可以引入断路器模式防止连锁反应导致整个集群崩溃。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值