分布式和微服务区别详解(4大核心区别)

分布式和微服务区别详解(4大核心区别)-mikechen

分布式和微服务经常接触,但是分布式和微服务区别有哪些,很多同学并不了解,下面详解4大分布式和微服务的区别。

分布式和微服务区别

微服务是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间采用轻量级的通信机制互相沟通,每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境。

分布式和微服务区别详解(4大核心区别)-mikechen

简单的来说,微服务是一种架构风格,是架构设计层面的概念,而分布式是一种项目系统的部署方式,是部署层面的概念。

分布式系统:是指将一个整体的系统,拆分为多个独立的计算节点,通过网络相互通信和协调完成任务。

这些节点可以在不同的物理服务器、或虚拟机上运行,通常用于提高系统的可扩展性、和容错性。

分布式系统的目标:是解决大规模数据处理、和计算问题,核心在于如何在多个节点之间协调工作。

 

分布式和微服务应用区别

微服务架构是对系统进行更细粒度的拆分,侧重于模块解耦、和复用。

划分的目的是实现高内聚、低耦合,让不同的团队可以独立开发、和部署各自的服务。

比如:微服务的划分是基于业务功能,每个服务独立负责一个特定的业务能力,比如:用户管理、订单处理…等。

每个服务,可以拥有自己的数据库、业务逻辑、和API,服务之间通过API接口、或消息机制进行通信。

而分布式,主要用来解决网站高并发带来问题。

比如:不同模块部署在不同服务器上,对系统的水平拓展,分散单个服务器压力,增加系统吞吐量。

 

分布式和微服务部署区别

分布式是一种项目系统的部署方式,这里的服务器部署可以是单个的服务器,也可以是多个服务器集群。

分布式系统,通常需要专门的基础设施、和管理工具。

比如:分布式存储系统、分布式计算框架(如:MapReduce、Hadoop…等等)。

这些系统的开发、与部署,往往相对复杂,部署通常需要跨多个物理、或虚拟机器进行。

而微服务,更注重独立开发、和部署,每个服务都可以由不同的团队独立开发、测试、和部署。

比如,微服务通过:CI/CD(持续集成/持续交付),来构建部署。

并且,微服务架构,通常会利用容器化技术(如:Docker、Kubernetes…等等)进行服务部署、和管理,简化服务的部署过程。

 

分布式和微服务效率区别

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低。

由于每个微服务都由独立的小团队负责,因此它敏捷性更高,微服务使得整个系统的迭代速度并行程度更高。

不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,运维的复杂度和性能,会随着服务的粒度更细而增加。

以上就是分布式和微服务的区别,希望对你掌握分布式和微服务有所帮助!

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法