您当前的位置:首页 > 计算机 > 服务器 > 网络服务

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

时间:12-14来源:作者:点击数:

一. 集群

集群:同一个应用部署在多个服务器上,然后使用负载均衡将用户请求分发至集群节点之中。

需要解决的问题:集群节点之间的 Session 共享

二. 分布式

分布式:将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。分布式是为了解决单台机器性能瓶颈,将系统进行拆分,使得处理负载分散到各个节点中,提升整个服务可用性

三. 微服务

微服务同样涉及系统的拆分,但是它与分布式的核心区别就是拆分的目的不一样。微服务让各个模块拆分开来,不会被互相影响,比如模块的升级或者出现 BUG 或者是重构等等都不要影响到其他模块,微服务它是可以在一台机器上部署;

四. 总结

分布式和微服务都涉及系统的拆分,但是它们拆分的目的并不相同,分布式是为了解决单一服务器性能瓶颈而进行的拆分,拆分后可以非常方便地对关键服务进行集群扩容;而微服务更像从系统业务设计层面的拆分,目的是降低系统的耦合度,使得每个服务更加内聚,这在较大的开发团队中是相当重要的,因为一个耦合严重的系统非常影响团队开发的协作效率。

一个微服务拆分的系统必然也具有分布式拆分的优势的,因为它们每个服务也是可以通过集群扩容的。这就是为什么近些年微服务逐渐湮灭了分布式的原因。

最后再次强调,分布式和微服务最根本区别就是它们起初拆分的目的是什么,而不是市面上所谓的按照拆分粒度区划分,因为拆分粒度是一个无法衡量的指标。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐