深入理解集群、分布式、微服务的概念、关系和区别

简介: 区别: 集群是个物理形态,分布式是个工作方式。

一、集群与分布式的区别

区别: 集群是个物理形态,分布式是个工作方式。


分布式:
1、一个业务分拆多个子业务,部署在不同的服务器上,
2、将不同的业务分布在不同的地方。
3、分布式中的每一个节点,都可以做集群
4、从窄意上理解,也跟集群差不多,但是它的组织比较松散
5、分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了
6、以缩短单个任务的执行时间来提升效率的

举例

分布式的目标是降低单个对象的重要度,从而提升整个系统的性能(稳定性,计算能力等等),不过代价是增加了数据传输量

假如中国专门造了一台超级电脑,用来计算天气预报的数据,然后所有的电视台都从这台电脑获取数据,然后播放天气预报。那么这种模式就是核心式的,这台电脑处于核心位置,如果这台电脑坏了,不能工作了,那么所有电视台的天气预报都不能进行了。

现在这样设计,每个省各自出一台普通电脑,然后这些电脑联合工作,一起计算天气预报(一个业务拆分成多个子业务),虽然每台电脑的计算能力远没有那台超级电脑强,但是它们协同工作,即使某台或者某几台电脑坏了,计算仍然能继续(坏了的那几台的计算工作将会转移到其他电脑上【这里是负载均衡-集群】)。这样就降低了每台电脑的重要程度,使得天气预报系统更加稳定,不过这些电脑之间的协调就比较复杂了。


集群:
1、同一个业务,部署在多个服务器上
2、分担并发量,提升计算机的运算速度
3、几台服务器集中在一起,实现同一业务。
4、集群并不一定就是分布式的。
5、有一个组织性,一台服务器垮了,其它的服务器可以顶上来
6、通过提高单位时间内执行的任务数来提升效率
7、不同服务器部署同一套服务对外访问,一般配置Nginx(5w并发量)的负载容器实现服务的负载均衡、静态资源缓存、Session共享。
8、区别集群的方式是根据部署多台服务器业务是否相同。

注:集群模式需要做好session共享,确保在不同服务器切换的过程中不会因为没有获取到session而中止退出服务。


举例:

就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成,实现了负载均衡的原理。


例如: 如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。


采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是 Hadoop 的 Map/Reduce 分布式计算模型)


而采用集群方案,同样提供 10 台服务器,每台服务器都能独立处理这个任务。假设有 10 个任务同时到达,10 个服务器将同时工作,1 小时后,10 个任务同时完成,这样,整身来看,还是 1 小时内完成一个任务!


2020071221003270.jpg

注意

好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。

二、微服务与分布式的区别

微服务

是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。


微服务:

1、微服务是系统架构的设计方式
2、当业务模块A出了问题,不影响业务模块B正常工作(因为分解成了2个独立的服务,但服务A和服务B可以都部署在同一服务器上。
3、微服务的核心要素是服务划分的“微小”。
4、纵向扩展单个业务,实现微服务。
5、微服务重在解耦合,使每个模块都独立
6、微服务一定会去解决分布式事务问题


20200715175816776.jpg

分布式:
分布式:
1、分布式是系统的部署方式
2、分布式系统中可横向扩展服务器,降低业务的耦合度。
3、将不同业务部署在多台服务器或者虚拟机上,通过RPC或者Restful进行数据传输。
4、分布式重在资源共享与加快计算机计算速度

将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。


20200712204252287.png


上面:service A、B、C、D 分别是业务组件,通过API Geteway进行业务访问。


注:分布式需要做好事务管理。


分布式事务可参考:微服务架构的分布式事务解决方案


注意:

 分布式未必是微服务,比如将一个单体应用划分成三块部署,这符合分布式;但这三块依旧很大,不符合微服务。但分布式最后都会向微服务演进。
**问:** 分布式是否属于微服务?
答案是肯定的。微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。
**问:** 什么是微服务架构
微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。


20200712210406888.jpg

分布式和微服的架构很相似,只是部署的方式不一样而已。记得点赞、收藏、评论呦!!!!

相关文章
|
9月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
648 2
|
9月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1379 3
|
8月前
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
185 0
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
429 5
|
7月前
|
算法 NoSQL 关系型数据库
《聊聊分布式》分布式系统核心概念
分布式系统由多节点协同工作,突破单机瓶颈,提升可用性与扩展性。CAP定理指出一致性、可用性、分区容错性三者不可兼得,BASE理论通过基本可用、软状态、最终一致性实现工程平衡,共识算法如Raft保障数据一致与系统可靠。
|
7月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
878 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
458 1
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2