微服务是大型架构的基石,下面详解微服务和分布式的核心区别@mikechen
架构设计区别
分布式系统架构,关注的是如何将一个系统分解并部署到多台机器上。
其核心目的是为了解决性能、和可用性问题,可以是任何形式的拆分。
关键点:系统功能分布在不同机器上。
微服务架构,关注的是如何将一个应用按照业务能力进行拆分。
其核心目的是为了解决业务复杂性和团队协作效率问题,它是一种架构设计模式。
拆分粒度不同
微服务,服务粒度较小,每个微服务聚焦于一个具体的业务功能。
比如:用户服务、订单服务…等等,职责明确。
分布式系统,关注的是任务在多节点间的协作、与分配。
粒度体现在进程、容器或物理机级别,强调任务如何分配到节点上进行并行处理。
无需强制对应业务边界,单体应用也可运行在分布式节点(如通过水平扩缩容)。
部署角度不同
微服务:每个微服务可以独立部署、扩展,使用不同的技术栈,拥有自己的数据库和生命周期。
分布式系统:组件通常紧密耦合,共享某些资源(如数据库),部署和扩展需要整体协调。
含义概念不同
微服务是一种架构设计风格,强调将单一应用划分成多个小型自治服务。
每个服务独立开发部署,注重“微小”和单一职责。
分布式是系统的部署方式,强调多个计算机或服务器协同工作,
系统划分成多个业务模块分别部署,注重物理层面的分布和资源共享