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

发布于 2023-10-07 20:45:16 字数 858 浏览 31 评论 0

一. 集群

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

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

二. 分布式

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

三. 微服务

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

四. 总结

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

楠木可依

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文