集群/分布式是什么?

什么是集群?

借鉴:

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

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

集群技术特点:

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

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

特点:

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

好处:

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

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

 

什么是分布式?

 

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

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

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

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

特点:

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

好处:

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

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

集群/分布式

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

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

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

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

<think>好的,我现在需要回答用户关于集群分布式系统的定义的问题。首先,我需要确认用户的需求是什么。用户明确询问了集群的定义和分布式系统的概念,所以我的回答需要准确涵盖这两个方面。 接下来,我需要查阅提供的引用内容。引用中提到了分布式系统的概念,特别是分区容错性、CAP理论以及微服务架构。引用[1]、[3]、[4]都涉及分布式系统的特点,比如CAP理论中的一致性、可用性和分区容错性,以及分布式系统的设计考虑。引用[2]则提到了分布式计算的基本原理和框架。不过,用户的问题还包括集群的定义,而现有的引用中没有直接提到集群,所以我可能需要依靠自己的知识来补充这一点,同时确保不与已有引用冲突。 首先处理集群的定义。集群通常指多台服务器协同工作,对外表现为一个整体,提高可用性和性能。需要区分集群分布式系统的不同:集群可能是在同一地点,通过局域网连接,而分布式系统可能地理位置分散,通过广域网连接。集群更强调资源池化和高可用,而分布式系统强调分布和容错。 然后是分布式系统的概念。根据引用[1],分布式系统需要处理分区容错性,即在部分故障时仍能运作。引用[3]的CAP理论指出分布式系统在一致性、可用性、分区容错性之间的权衡。引用[4]提到微服务架构作为分布式系统的一种实现方式,强调组件化和服务化。需要将这些点整合起来,说明分布式系统的核心特征,如多节点协作、透明性、容错性、可扩展性等。 需要注意使用正确的中文表达,按照系统级指令,数学公式用$...$,独立公式用$$...$$,不过这个问题可能不需要数学公式。但如果有相关的例子,比如计算节点数量或性能指标,可能需要用LaTeX,但这里可能不需要。 生成相关问题部分,需要围绕集群分布式系统的定义、区别、应用场景、设计挑战等方面提问,比如两者的区别,CAP理论的应用,集群的架构等。 最后,确保引用正确标注,比如在提到CAP理论时引用[^3],分区容错性引用[^1],微服务引用[^4]等。 现在组织回答结构:先定义集群,再定义分布式系统,然后比较两者的区别,最后生成相关问题。在定义时引用相关文献,确保每个引用自然衔接。</think>### 集群的定义 **集群**指多台服务器或计算节点通过协同工作,对外表现为一个逻辑整体的技术架构。集群的核心目标是通过资源整合实现高可用性、负载均衡或高性能计算。例如,Web服务器集群可通过负载均衡器分配用户请求,若某节点故障,其他节点可接管任务,保障服务连续性。集群通常部署于同一局域网内,节点间通信延迟低,且硬件配置相似。 --- ### 分布式系统的概念 **分布式系统**是由多个独立计算机(节点)通过网络连接组成,协作完成共同任务的系统。其核心特征包括: 1. **透明性**:用户无需感知系统内部的分布细节,如资源位置、故障恢复等。 2. **容错性**:部分节点或网络故障时,系统仍能提供服务(如CAP理论中的分区容错性[^3])。 3. **可扩展性**:可通过增加节点提升系统处理能力,如数据并行与模型并行的实现[^2]。 4. **一致性权衡**:根据CAP理论,需在一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)之间取舍[^3]。 典型应用包括分布式数据库(如Cassandra)、微服务架构(业务组件独立部署[^4])等。 --- ### 集群分布式系统的区别 | **维度** | **集群** | **分布式系统** | |----------------|-----------------------------|-----------------------------| | **目标** | 资源集中,提升可用性/性能 | 任务分解,协作完成复杂目标 | | **节点关系** | 同构硬件,紧密耦合 | 异构硬件,松散耦合 | | **通信范围** | 局域网内 | 跨网络(可能广域网) | | **典型场景** | 高性能计算集群、Web服务器集群 | 区块链、分布式存储系统 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值