集群/分布式是什么?

什么是集群?

借鉴:

https://juejin.im/post/5b83466b6fb9a019b421cecc#heading-5

https://www.cnblogs.com/qlqwjy/p/7851308.html

集群技术特点:

  • 通过多台计算机完成同一个工作,达到更高的效率。
  • 两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。

集群/分布式是什么?_第1张图片

我写了一个910便利网发布到服务器去了,现在越来越多的人访问了,访问有点慢,怎么办???很简单,(只有充钱才能变强),加配置吧(加cpu,加内存)。升级完配置之后,访问人数越来越多,于是发现又不禁用啦,在这台机器上加配置已经解决不了了,怎么办???很简单,(只有充钱才能变强),我再买一台服务器,将910便利网也发布到新买的这台服务器上去

特点:

  • 这两台服务器都是运行同一个系统--->910便利网

好处:

  • 本来只有一台机器处理访问,现在有两台机器处理访问了,分担了压力
  • 如果其中一台忘记缴费了,暂时用不了了。没关系,还有另一台可以用呢。

集群同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事)

 

什么是分布式?

集群/分布式是什么?_第2张图片

 

我的910便利网已经部署到两台服务器去了,但是越来越多的人去访问。现在也逐渐承受不住啦。那现在怎么办啊??那继续充钱变强??作为一个理智的我,肯定得想想是哪里有问题。现在910便利网的模块有好几个,全都丢在同一个Tomcat里边。

其实有些模块的访问是很低的(比如后台管理),那我可不可以这样做:将每个模块抽取独立出来,访问量大的模块用好的服务器装着,没啥人访问的模块用差的服务器装着。这样的好处是:

一、资源合理利用了(没人访问的模块用性能差的服务器,访问量大的模块单独提升性能就好了)。

二、耦合度降低了:每个模块独立出来,各干各的事(专业的人做专业的事),便于扩展

特点:

  • 将910便利网的功能拆分,模块之间独立,在使用的时候再将这些独立的模块组合起来就是一个系统了。

好处:

  • 模块之间独立,各做各的事,便于扩展,复用性高
  • 高吞吐量。某个任务需要一个机器运行10个小时,将该任务用10台机器的分布式跑(将这个任务拆分成10个小任务),可能2个小时就跑完了

分布式一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的)

集群/分布式

集群和分布式并不冲突,可以有分布式集群

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

  • 系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。
  • 系统之间的耦合度降低,从而系统更易于扩展。我们可以针对性地扩展某些服务。假设这个商城要搞一次大促,下单量可能会大大提升,因此我们可以针对性地提升订单系统、产品系统的节点数量,而对于后台管理系统、数据分析系统而言,节点数量维持原有水平即可。
  • 服务的复用性更高。比如,当我们将用户系统作为单独的服务后,该公司所有的产品都可以使用该系统作为用户系统,无需重复开发。

集群/分布式是什么?_第3张图片

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关 系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜 师,两个配菜师关系是集群。

你可能感兴趣的:(分布式架构)