转自:https://blog.csdn.net/qq_37788067/article/details/79250623

概念:

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

1.分布式:一个业务分拆多个子业务,部署在不同的服务器上

2.集群:同一个业务,部署在多个服务器上

分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。

分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。

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

而分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

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

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

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

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

另外,还有一个概念和分布式比较相似,那就是微服务。

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

区别:

1.分布式

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

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

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

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

2.集群模式

集群模式是不同服务器部署同一套服务对外访问,实现服务的负载均衡。区别集群的方式是根据部署多台服务器业务是否相同。

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

一般配置Nginx的负载容器实现:静态资源缓存、Session共享可以附带实现,Nginx支持5000个并发量。

分布式是否属于微服务?

答案是肯定的。微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。

微服务架构

微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

分布式和微服的架构很相似,只是部署的方式不一样而已。

沙洋有几个微服务群_集群 分布式 微服务相关推荐

  1. mysql 8.0 集群_集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例

    官方网址 https://dev.mysql.com/downloads/mysql/ 社区版本分析 MySQL5.5:默认存储引擎改为InnoDB,提高性能和可扩展性,增加半同步复制 MySQL5. ...

  2. 【SpringCloud】三、Nacos服务注册+配置管理+集群搭建

    文章目录 一.认识Nacos 1.安装 2.服务注册和发现 3.服务分级存储模型 4.负载均衡策略--NacosRule 5.服务实例的权重设置 5.环境隔离namespace 6.Eureka和Na ...

  3. 如何将单机版的Eureka服务改为集群版Eureka服务

    Eureka 集群原理 基本原理 上图是来自eureka的官方架构图,这是基于集群配置的eureka: 处于不同节点的eureka通过Replicate进行数据同步 Application Servi ...

  4. 源码分析Dubbo Invoker概述----服务发现、集群、负载均衡、路由体系

    Invoker,负载网络调用组件,底层依懒与网络通信,Invoker主要负责服务调用,自然与路由(比如集群)等功能息息相关,本节先从整体上把控一下Dubbo服务调用体系,服务发现.集群.负载均衡.路由 ...

  5. redis在Windows下以后台服务一键搭建集群(多机器)

    redis在Windows下以后台服务一键搭建集群(多机器) 一.概述 此教程介绍如何在windows系统中多台机器之间布置redis集群,同时要以后台服务的模式运行.布置以脚本的形式,一键完成.多台 ...

  6. 大规模机器集群-单机/集群/服务/机房/从零恢复的快速交付

    本篇内容,依赖之前的3篇文章. 大规模机器集群-故障自动处理(一) 大规模机器集群-故障自动处理(二) 大规模机器集群-基础环境一致性 名词定义 ARS: AutoRepairSystem, 故障自动 ...

  7. 基于虚拟化的混合云集群——基于集群管理监控系统

    摘要 本博文将详细的介绍本人在实现过程中的所经历的项目,同时对象将进行的详细的说明.将对项目的背景,项目的技术,项目的架构设计,项目的难点,项目的开发周期,项目中详细的功能的开发,项目中本人的主要工作 ...

  8. mysql的集群和分布式区别_集群和分布式的区别

    简单概括: 集群:多个人在一起做同样的事 . 分布式 :多个人在一起做不同的事 . 负载均衡:决定将任务以某种规则分给谁做. 详细分析 (1)分布式是指多个系统协同合作完成一个特定任务的系统. 分布式 ...

  9. 服务器查看不到集群信息,集群服务器查看内存

    集群服务器查看内存 内容精选 换一换 用户可以查看在不同云服务区已经申请成功的专属云.进入指定的专属云,还可以查看该专属云内专属计算资源详情及云服务器等专属云内基础服务的实例信息.登录管理控制台.单击 ...

最新文章

  1. oauth_client_details的值怎么添加_17.八年级数学:怎么求CDM周长的最小值?最短路径问题,经典考题...
  2. idea关联mysql失败_Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
  3. Spark DataFrameDataSet
  4. android studio小案例代码,AndroidStudio开发小相册实例
  5. 13个知识点,系统整理Python时间处理模块Datetime
  6. iframe子页面内刷新父页面中另一个iframe子页面
  7. 克隆虚拟机启动网卡提示错误 Device eth0 does not seem to be present, delaying initialization...
  8. 1.0jpa 2.0_Java EE 7之前版本替代JPA 2.1非同步持久性上下文
  9. 使用screen管理后台程序
  10. excel表头_Spring Boot实现导出Excel功能
  11. 手机sstv解码软件_关于二维码扫描使用专业扫描设备和手机二维码扫描软件的区别?...
  12. 使用@Aspect切面进行让JDBC自动关闭(Spring AOP)
  13. python身份证验证程序_python 身份证验证
  14. python与建筑结构设计_29个常见的结构设计问题盘点
  15. 如何禁用GeForce Experience的奖励广告
  16. python把桢写入txt_python 怎样随机生成中文字符?
  17. python vbox_python 控制vbox虚拟机
  18. 职业能力倾向测试下什么软件,职业能力倾向测验
  19. AFX_MSG是什么意思
  20. 【关键字】ddx ddy 导数函数

热门文章

  1. [Asp.Net Core轻量级Aop解决方案]AspectCore Project 介绍
  2. 使用VS2015进行C++开发的6个主要原因
  3. 使用vue组件搭建网页应用
  4. 六台机器搭建RedisCluster分布式集群
  5. Redis --数据类型 [1]
  6. TLS/SSL握手过程
  7. linux c中的文件描述符与打开文件之间的关系
  8. 怎么找到项目中所有同名的类_26岁转行程序员的成长历程--Day03从内存层面理解类和对象...
  9. 电子商务应用课程知识整理 第一章-电子商务概述与类型
  10. html页面阴影怎么做,html – 做弯曲阴影的最佳方式