什么是集群(常见的分布式系统)
对于集群、分布式和微服务,大家在工作中可能经常会听到,但是如果问你它们之间存在什么样的区别和联系,可能你一下子又感觉说不清楚,今天就这个话题,趁着周末时间,跟大家来一起聊聊。弄明白是什么
要做三者之间的对比,首先要弄明白它们分别是什么?集群
集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事情。
但是每台服务器并不是缺一不可,存在的作用主要是缓解并发压力和单点故障转移问题。我们可以利用一些廉价的符合工业标准的硬件构造高扩展、高性能、低成本、高可用的系统。
集群主要具有以下特性:伸缩性(Scalability):一组服务器组在一起,像单个服务器一样分担处理一个繁重的任务,我们只需要将新的服务器加入集群中即可;高可用性(High availability):集群的出现就是为了使集群的整体服务尽可能可用,以便考虑计算硬件和软件的易错性,避免单点失效发生;负载均衡(Load balancing):均衡的应用程序处理负载或网络流量负载,使负载可以在计算机集群中尽可能平均地分摊处理。高性能 (High Performance):并行计算(或称平行计算)是相对于串行计算来说的,并行计算能力的目的是用来提高计算速度。
分布式
分布式服务是指将多台服务器集中在一起,服务是分散部署在不同的机器上的。
每台服务器都实现总体中的不同业务,做不同的事情。一个服务可能负责几个功能,是一种面向 SOA 的架构。各分开部署的部分彼此通过各种通讯协议交互信息,并且每台服务器都缺一不可,如果某台服务器故障,则部分功能缺失,或导致整体无法运行。
分布式存在的主要作用是大幅度的提高效率,缓解服务器的访问和存储压力。区别分布式的方式是一个业务分拆多个子业务,部署在不同的服务器上。
例如将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。
微服务
微服务就是很小的服务,小到一个服务只对应一个单一的功能。
每个微服务仅于完成一件任务并很好地完成该任务,这个服务可以单独部署运行。各个微服务之间是松耦合的,服务之间可以通过 RPC 来相互交互。每个微服务都是由独立的小团队开发、测试、部署,上线,负责它的整个生命周期。
在做架构设计时,当你估算过最大用户量和并发量后,计算出单个应用服务器能否满足需求。如果用户量只有几百人的小应用,单体应用就能搞定,即所有应用部署在一个应用服务器里。如果是很大用户量,且某些功能会被频繁访问,或者某些功能计算量很大,建议将应用拆解为多个子系统,各自负责各自功能,这就是微服务架构。
弄清楚异同点
弄明白是什么之后,就可以尝试找找它们之间的异同点了。集群与分布式
区别1:部署多台服务器的业务是否相同。
集群模式:不同服务器部署同一套服务对外访问,实现服务的负载均衡;
分布式:其中每一个节点,都可以做集群,而集群并不一定就是分布式的。
比如站点访问的人多了,可以做一个群集。前面放一个响应服务器,后面几台响应服务器完成同一业务。如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将任务调度给哪一台去完成。
而分布式,从窄意上理解也跟集群差不多。但是它的组织比较松散,不像集群有一个组织性,一台服务器垮了,其它的服务器可以顶上来。分布式的每一个节点都完成不同的业务,一个节点垮了那这个业务就不可访问了。
注:集群模式需要做好 Session 共享,确保在不同服务器切换的过程中不会因为没有获取到 Session 而引起服务终止。
区别2:提升效率的方式不同。
分布式:以缩短单个任务的执行时间来提升效率的;
集群:通过提高单位时间内执行的任务数来提升效率。
例如:如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。采用集群方案,同样提供 10 台服务器,每台服务器都能独立处理这个任务。假设有 10 个任务同时到达,10 个服务器将同时工作,经过10 小时后,10 个任务执行完成。这样整体来看,还是 1 小时内完成一个任务。
注:分布式需要做好事务管理。分布式与微服务
区别点:架构很相似,只是部署的方式不一样而已。
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务的应用不一定是分散在多个服务器上,它也可以是同一个服务器。
微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低。由于每个微服务都由独立的小团队负责,因此它敏捷性更高。分布式服务最后都会向微服务架构演化,这是一种趋势。不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维难度会增大。分布式是否属于微服务?
答案是肯定的。
微服务将模块拆分成一个独立的服务单元通过接口来实现数据的交互。生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的。总结
1、集群
复制部署,能力一致,目的是实现:伸缩性、高可用、负载均衡和高性能;
2、微服务
分散能力,将大型复杂的软件拆分为多个微服务组成(不一定分散在多个服务器,可以是同一个服务器);
3、分布式
分散部署,是一种面向 SOA 的架构,服务分散部署在不同的机器上,实现不同业务,做不同的事情。
- END -
作者:架构精进之路,专注软件架构研究,技术学习与个人成长,并私信我回复"01",送你一份程序员成长进阶大礼包,欢迎勾搭。
「技术架构精进」专注架构研究,技术分享
Thanks for reading!
今日废柴价格行情绝世神偷废柴七小姐拜登政府派遣的代表团中将由前参谋长联席会议主席迈克尔马伦带队,世界之都向他展开遥远的,炮灰攻略,遗迹凝红。。天猫精选火影九尾专题,天极产品库提供了火影九代酷睿i固态硬盘笔记本的参数
带外衰减(低通滤波器)带外衰减(低通滤波器)摘要科技的发展带来更加严格的器件指标,电子器件的小型化高性能趋势日益明显。滤波器作为射频元器件的重要组成部分,小型化研究已迫在眉睫。基于先进的LTCC工艺技术
今日关口布油期货价格关口英文油价这样涨上去,数据来源于各地网友。月30日24点,涨幅29,油价短暂的停留在8元时代,人人自危,更有人调侃般的说道。回想两个月之前,截至目前已经连涨5天,更多最新汽油价格实时走势
RoccatKova评测别以为左撇子没有市场这只滑鼠让你左右开弓Roccat滑鼠发展至今,也推出了不少让人讚赏的好用滑鼠。但这次看到的Kova算是Roccat少见的滑鼠设计。它採用了对称设计,让滑鼠两侧拥有相同的设计元素与按键。操控上,左手握持
LogitechG613机械式游戏键盘无线也可以快狠準Logitech为一个超过30年历史的电脑周边品牌,相信对大部分的人来说一点都不陌生,在台湾想找一般家用或是无限的键盘滑鼠,多数人第一个想到的都会是罗技,不过罗技在数年前推出Log
汤圆和元宵的区别(你知道元宵和汤圆的区别吗)汤圆和元宵的区别(你知道元宵和汤圆的区别吗)正月十五闹元宵,元宵节就离不开元宵。只不过在这个节日里,南方和北方还有些区别。南方人喜欢吃汤圆,而北方人则喜欢吃元宵。元宵和汤圆都是白色
茅台酒以什么原料制成(关于茅台酒的原料)茅台酒以什么原料制成(关于茅台酒的原料)俗话说粮为酒之肉。昨天典藏有道跟大家讲了关于茅台酒酿酒的水源赤水河,其实除了酿酒的水源,原料对于酒来说可谓是十分重要的。酱香型白酒都是以高粱
纳米是什么(微米是什么)世界农化网中文网报道近年来,以更细微的纳米尺度(1109米1nm)为基本结构单元所构成的材料,应用于各种新型器材智能信息元件和医药品等制造领域,其产品性能产生了意想不到的奇特效果,
纳米是什么(身边生活中的纳米产品)大家知道的计量单位有很多,kmmdmcmmm,可是很少有人会注意到nm(纳米),纳米技术是近年来非常火热的话题,不少产品都用纳米做噱头,可是你真的知道纳米是什么吗?纳米是什么纳米技
长尾景虎(fgo长尾景虎病娇)长尾景虎(fgo长尾景虎病娇)FGO国服将于7月20日开启唠唠叨叨最终本能寺活动,参与本次活动可以获得四星枪阶从者长尾景虎,为社长武内崇执笔绘制的从者,并且完成活动关卡还有简易灵衣
喧闹反义词(喧闹的反义词和近义词是什么)喧闹反义词(喧闹的反义词和近义词是什么)近义词喧嚣吵闹喧哗。反义词静谧寂静幽静。喧闹,意思是声音大而热闹喧哗吵闹。出自杜甫雨过苏端诗亲宾纵谈谑,喧闹慰衰老。喧闹的反义词静谧恬静沉寂