分布式和集群 Distributed & Cluster

分布式和集群 Distributed & Cluster

分布式: 是指将业务拆分为不同的子服务,然后将其分布在不同的计算机上。

群集: 意味着将多个服务器组合在一起以实现相同的服务。 它可以被视为计算机,云计算平台,或者通过软件系统集中使用分布式部署资源。 为了应付较大的并发性,以实现高可用性,分布式和群集都是必不可少的。

分布式 Distributed

常用的分布式是在负载平衡服务器之后添加一堆Web服务器,然后在其上构建缓存服务器以保存临时状态,然后共享数据库 。

在此环境中,唯一真正的分发服务器是Web服务器,并且Web服务器之间没有连接,因此其结构和实现非常简单。

集群 Cluster

这意味着将多个服务器组合在一起以实现相同的业务,并且可以将其视为一台计算机。
总体上,由多台服务器组成的一组计算机为用户提供了一组网络资源,这些资源是群集的节点。

集群的特性

  • 可扩展性 集群中的服务节点,可以动态添加机器以增加集群的处理能力。
  • 高可用性 如果集群中的某个节点发生故障,则该节点上运行的服务可以由其他服务节点接管,从而增强了集群的高可用性。

集群的划分

  • 高可用集群(High Availability cluster)
  • 负载均衡集群(Load Balance cluster)
  • 高性能计算集群(HPC cluster)

集群的能力

  • 负载均衡(Load Balancing)

  • 容错能力(Fault Tolerance)

    • Failover Cluster
    • Failfast Cluster
    • Failback Cluster
    • Forking Cluster

分布式场景

假如我们的server,设计上可以支持1M(million)/s 的请求,但是现在的请求量达到了2M/s,这个时候,这个server已经无法保证所有请求都能被处理,很多请求会被拒绝。

这个时候一个server无法支持,那就再增加一台server,每一台server 可以处理1M/s的请求,如果请求继续增长的情况下,就继续加server。我们称这种解决方法为水平扩展,而负责平衡请求的就是负载均衡

还有一种是垂直切分,可以通过对单个server性能提升来达到解决问题的目的,但是这种方式会很快达到瓶颈。

一个公司在发展过程壮大的过程中,它的系统也会随着业务不停的变大。这个时候就需要进行划分成分布式系统,为了方便组织和管理。公司通常会把整个系统分解成部门,订单,供应商,会员等等。由于每个模块具体的业务,每个模块都会有自己的server cluster,DB server cluster,在同一个站点下,访问链接会进入不同的server,DB,请求也会进入到不同的cluster。简单来说就是业务的垂直划分vertical split。如果那个部门的server需要进行扩展,要添加机器,就是水平扩展horizontal expansion。

分布式的优势在于拆分业务和平衡负载,但是也会带来一些其他问题,数据一致性如何处理。所以需要通过同步的设计来确保分布式场景下的数据一致性问题。

有些场景下数据一致性的要求不高,但是某些场景下必须确保数据的一致性,比如银行,金融领域。Paxos 算法可以解决分布式场景下的数据一致性问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eric.Cui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值