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

本文深入探讨了微服务架构的特点及工作流程,包括服务解耦、高可用性、单一职责等核心概念,以及如何通过API网关、服务注册与发现、负载均衡等组件实现微服务之间的高效协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.分布式:一个业务分拆多个子业务,部署在不同的服务器上
2.集群:同一个业务,部署在多个服务器上
3.微服务:将模块拆分成一个独立的服务单元通过接口来实现数据的交互。微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。


一、微服务特点:

服务之间耦合性低(解耦)、按一定规则进行拆分,高可用(一个服务挂掉,其他服务还可以使用)、单一职责(每个服务职责明确)、便于重构(只修改一个服务即可)

将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。每个服务可以有自己独立的数据库,从而保证与其他服务解耦。

二、微服务流程:

1、前端发起请求,统一通过API网关zuul或gateway来访问内部服务
2、先经过token进行安全认证,然后网关从注册中心Eureka获取可用服务节点列表(服务注册表)
3、通过ribbon负载均衡算法,从可用的服务节点中选取一个可用节点,然后把请求分发到这个节点。服务之间通过feign根据注解的内容,基于ribbon的负载均衡进行服务调用,由hystrix处理服务超时熔断。

### 关于分布式系统与微服务架构常见面试问题及答案 #### 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),当遇到故障时应采取措施如重试机制、超时控制和服务降级策略等方法以增强系统的鲁棒性和用户体验。此外还可以引入断路器模式防止连锁反应导致整个集群崩溃。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值