Springcloud、分布式和微服务经典面试题

本文探讨了分布式和微服务的概念及其区别,强调了微服务在系统设计、扩展性和需求变更响应速度上的优势。同时,文章还讨论了单体架构与微服务架构的优缺点,并详细阐述了SOA的优缺点。此外,还提到了SpringBoot和SpringCloud的关系,以及它们与SpringCloudAlibaba的联系与区别。最后,文章涉及了CAP定理、自我保护机制和心跳检测的重要性。

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

1.什么是分布式

根据功能进行拆分,分散压力。

2.什么是微服务

根据业务进行拆分,分散能力

3.分布式和微服务的区别

架构不同:微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

作用不同:分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。微服务:各服务可独立应用,组合服务也可系统应用。

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

4.单体架构和微服务的优缺点
  • 上手难度
    • 微服务架构:API接口调用
    • 单体架构:数据库共享或本地程序调用
    • 结论:单体架构胜
  • 开发效率
    • 微服务架构:早期设计和沟通的工作量加大,随着项目规模和时间的推移,效率变化不大
    • 单体架构:早期工作量小,随着项目规模和时间的推移,效率大幅度下降
    • 结论:对于简单项目单体架构胜,对于复杂项目微服务架构胜
  • 系统设计(高内聚,低耦合)
    • 微服务架构:
      • 每个业务单独包装成一个微服务,数据和代码都从物理上隔离开来,实现高内聚低耦合相对容易
    • 单体架构:
      • 以包的形式对代码进行模块划分,控制得当即可实现高内聚
      • 最终都是在数据层面将整个系统耦合在一起
    • 结论:微服务架构胜
  • 系统设计(扩展性)
    • 微服务架构:独立开发新模块,通过API与现有模块交互
    • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值