java面试题:分布式和微服务的区别

1 分布式和微服务概念不同

微服务架构是架构设计方式,是设计层面的东西,一般考虑如何将系统从逻辑上进行拆分,也就是垂直拆分。

分布式系统是部署层面的东西,即强调物理层面的组成,即系统的各子系统部署在不同计算机上。

2 分布式和微服务含义不同

微服务架构是一种将一个单一应用程序开发为,一组小型服务的方法,每个服务运行在自己的进程中。微服务是指很小的服务,可以小到只完成一个功能,这个服务可以单独部署运行,不同服务之间通过rpc调用。

分布式系统是若干独立计算机的集合,这些计算机对用户来说就像单个相关系统。一个系统可以提供一个或多个功能,服务之间也是通过rpc来交互或者是webservice来交互的。

3 分布式和微服务解决问题视角不同

微服务架构解决的是如何将一个大型应用程席划分成多个微服务的问题;侧重于模块解耦和复用,微服务是使系统各个功能拆分更加精细和独立的垂直拓展。

分布式架构解决的是如何将一个大的系统划分为多个业务模块这些业务模块会分别部署到不同的机器上,通过接口进行数据交互的问题。分布式主要用来解决网站高并发带来问题,比如:不同块部署在不同服务器上,对系统的水平拓展,分散单个服务器压力增加系统吞吐量。

4 分布式和微服务部署方式不同

微服务架构的应用可以部署在是同一个服务器,不一定是分散在多个服务器上。

分布式架构是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。

5 分布式和微服务耦合度不同

微服务架构的各个服务是解耦的,每个服务都可以独立地运行和更新,而不影响其他服务。

分布式架构的各个计算机之间可能会有依赖关系,需要通过接口进行通信和数据交互,以保证系统的正常运行。

总结起来,微服务架构和分布式架构在上述五个方面存在明显的差异。微服务架构更侧重于服务的拆分和独立部署,而分布式架构更侧重于不同计算机的协同。

相关推荐
じ☆冷颜〃36 分钟前
分布式系统中网络技术的演进与异构融合架构(HFNA)
笔记·python·物联网·设计模式·架构·云计算
Wang15303 小时前
jdk内存配置优化
java·计算机网络
0和1的舞者4 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
Wang15304 小时前
Java多线程死锁排查
java·计算机网络
小小星球之旅4 小时前
CompletableFuture学习
java·开发语言·学习
jiayong235 小时前
知识库概念与核心价值01
java·人工智能·spring·知识库
皮皮林5515 小时前
告别 OOM:EasyExcel 百万数据导出最佳实践(附开箱即用增强工具类)
java
Tezign_space5 小时前
AI智能体赋能实践:从提示工程到上下文工程的架构演进
人工智能·架构·agentic ai·上下文工程·大模型智能体·长程任务·模型注意力预算
Da Da 泓6 小时前
多线程(七)【线程池】
java·开发语言·线程池·多线程
To Be Clean Coder6 小时前
【Spring源码】getBean源码实战(三)
java·mysql·spring