博客
关于我
大白话:分布式与集群是什么 ?( 半分钟就懂)
阅读量:309 次
发布时间:2019-03-03

本文共 1172 字,大约阅读时间需要 3 分钟。

疯狂创客圈 Java 分布式聊天室【 亿级流量】实战系列—番外篇【 博客园 总入口


文章目录

一、大白话解说,半分钟就懂

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。

后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,两个厨师的关系是集群。

为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 … 厨师和配菜师的关系是分布式。

一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。

一个配菜师因故请假了,但是其余的配菜师还是该啥就干啥,只是没请假的配菜师任务均匀的加量了,但他们的任务和职责是不变的,这是集群。

集群:多个人在一起作同样的事 。

分布式 :多个人在一起作不同的事 。

二、图解:

img

img

以上内容转自:

以下内容是个人整理的:

三、区别联系

1)我记得在一本讲 tcp/ip 的书上有这样一句话:分布式是指 多个系统协同合作完成一个特定任务的系统。

分布式是解决中心化管理的问题,把所有的任务叠加到一个节点处理,太慢了。

所以把一个大的问题拆分为多个小的问题,并分别解决,最终协同合作。分布式的主要工作是分解任务,将职能拆解。

2) 集群主要的使用场景是为了分担请求的压力,也就是在几个服务器上部署相同的应用程序,来分担客户端请求。

当压力进一步增大的时候,可能在需要存储的部分,mysql无法面对很多的写压力。因为在mysql做成集群之后,主要的写压力还是在master的机器上面,其他slave机器无法分担写压力,从而这个时候,也就引出来分布式。

分布式的主要应用场景是单台机器已经无法满足这种性能的要求,必须要融合多个节点,并且节点之间是相关之间有交互的。相当于在写mysql的时候,每个节点存储部分数据,也就是分布式存储的由来。在存储一些非结构化数据:静态文件、图片、pdf、小视频 … 这些也就是分布式文件系统的由来。

3)集群主要是简单加机器解决问题,对于问题本身不做任何分解;

布式处理里必然包含任务分解与答案归并。分布式中的某个子任务节点,可能由一个集群来代替;集群中任一节点,都是做一个完整的任务。

集群和分布式都是由多个节点组成,但是集群之间的通信协调基本不需要;而分布式各个节点的通信协调必不可少。

将一套系统拆分成不同子系统部署在不同服务器上(这叫分布式),然后部署多个相同的子系统在不同的服务器上(这叫集群),部署在不同服务器上的同一个子系统应做负载均衡。

分布式:一个业务拆分为多个子业务,部署在多个服务器上 。

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

参考:


疯狂创客圈 - 分布式实战社群

  • Java (Netty) 聊天程序【 亿级流量】实战 开源项目实战
  • Netty 源码、原理、JAVA NIO 原理
  • Java 面试题 一网打尽
  • 疯狂创客圈

你可能感兴趣的文章
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>