zl程序教程

您现在的位置是:首页 >  工具

当前栏目

分布式和集群理解

2023-09-14 09:11:20 时间

转自:https://cloud.tencent.com/developer/article/1579435

https://www.zhihu.com/question/20004877

1.介绍

集群是个物理形态,着重描述这个处理机的静态状态,强调个体和群体之间的联系。

分布式是个工作方式,着重讲这个处理机的动态状态,强调请求和处理直接的分发状况。

分布式:一个业务分拆多个子业务,部署在不同的服务器上,解决高并发的问题

集群:同一个业务,部署在多个服务器上,提高系统可用性

集群就是逻辑上处理同一任务的机器集合,可以属于同一机房,也可分属不同的机房。分布式这个概念可以运行在某个集群里面,某个集群也可作为分布式概念的一个节点。

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

2.英文解释

分布式 主要的提法是 distributed 

集群主要的提法是cluster

 

集群主要描述了一个集合,一些相似的东西,提供相似的功能,这个就叫做集群。 

分布式,主要是将一个东西,分发给一堆相似的内容或东西。

我的理解:如一个数据库集群,那么存储一份数据,对外提供相同的查询服务;分布式比如不同的服务部署在不同的机器上,互为上下游互相调用。

3.数据库集群和分布式数据库

https://zhuanlan.zhihu.com/p/143362878

 分布式数据库,其实就是不同的业务分别在不同节点的数据库中,集群就是某个节点数据的读写集群很多节点都是相同的数据,高并发的时候可以将请求分散到不同的集群节点上

集群主要是为了解决单点故障的问题。分布式主要是为了各自的功能各自处理,不同的机器处理不同的业务。

集群特点:

https://blog.z0ukun.com/?p=2073

  • 可扩展性:新的服务实体可以动态的加入到集群,从而增强集群的性能;
  • 高可用性:消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。
  • 负载均衡:负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量。
  • 错误恢复:如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。【这不就是高可用吗?】 

集群主要分为三大类:

  • HA:高可用集群(High Availability Cluster)。
  • LBC:负载均衡集群/负载均衡系统(Load Balance Cluster)
  • HPC:科学计算集群(High Performance Computing Cluster)/高性能计算(High Performance Computing)集群。

数据库做集群的原因:1.防止单点故障,2.数据备份,3.提高读写能力。其实都是为了高可用、高性能。

解决数据库扩展能力的方法主要有两个:数据分片和读写分离。数据分片(Sharding)的原理就是将数据做水平切分,类似于 hash 分区 的原理。