美文网首页
分布式系统的负载均衡

分布式系统的负载均衡

作者: C1R2 | 来源:发表于2020-10-13 22:35 被阅读0次

一、 什么是负载均衡?

什么是负载均衡?

记得第一次接触 Nginx 是在实验室,那时候在服务器部署网站需要用 Nginx 。Nginx 是一个服务组件,用来反向代理、负载平衡和 HTTP 缓存等。那么这里的 负载均衡 是什么?

负载均衡(LB,Load Balance),是一种技术解决方案。用来在多个资源(一般是服务器)中分配负载,达到最优化资源使用,避免过载。

资源,相当于每个服务实例的执行操作单元,负载均衡就是将大量的数据处理操作分摊到多个操作单元进行执行,用来解决互联网分布式系统的大流量、高并发和高可用的问题。那什么是高可用呢?

二、什么是高可用?

首先了解什么是高可用?
这是 CAP 定理是分布式系统的基础,也是分布式系统的 3 个指标:
Consistency(一致性)
Availability(可用性)
Partition tolerance(分区容错性)

那高可用(High Availability)是什么?高可用,简称 HA,是系统一种特征或者指标,通常是指,提供一定性能上的服务运行时间,高于平均正常时间段。反之,消除系统服务不可用的时间。

衡量系统是否满足高可用,就是当一台或者多台服务器宕机的时候,系统整体和服务依然正常可用。

举个例子,一些知名的网站保证 4 个 9 以上的可用性,也就是可用性超过 99.99%。那 0.01% 就是所谓故障时间的百分比。比如电商网站有赞,服务不可用会造成商家损失金钱和用户。那么在提高可用性基础上同时,对系统宕机和服务不可用会有补偿。

比如下单服务,可以使用带有负载均衡的多个下单服务实例,代替单一的下单服务实例,即使用冗余的方式来提高可靠性。

总而言之,负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一。一般通过负载均衡,冗余同一个服务实例的方式,解决分布式系统的大流量、高并发和高可用的问题。负载均衡核心关键:在于是否分配均匀。

图片.png

小结

对外看来,负载均衡是一个系统或软件的整体。对内看来,层层上下游调用。只要存在调用,就需要考虑负载均衡这个因素。所以负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一。考虑主要是如何让下游接收到的请求是均匀分布的:

第 1 层:客户端层 -> 反向代理层 的负载均衡。通过 DNS 轮询
第 2 层:反向代理层 -> Web 层 的负载均衡。通过 Nginx 的负载均衡模块
第 3 层:Web 层 -> 业务服务层 的负载均衡。通过服务治理框架的负载均衡模块
第 4 层:业务服务层 -> 数据存储层 的负载均衡。通过数据的水平分布,数据均匀了,理论上请求也会均匀。比如通过买家ID分片类似

参考链接-https://zhuanlan.zhihu.com/p/74497845

相关文章

  • 【转载】负载均衡算法实现java与场景分析

    负载均衡算法实现分布式系统中负载均衡算法在高可用场景下的分析

  • 系统设计基础知识

    基础知识 负载均衡 分布式系统不可少的组件 有 user 到 web server 之间的负载均衡 有 web s...

  • 负载均衡是怎么做的?

    负载均衡 负载均衡是实现分布式系统高可用的方式之一;负载均衡策略实现了把高并发的流量分摊在其后的服务器集群上;常见...

  • 一致性hash算法

    前言 在分布式系统中,很多服务需要进行负载均衡,负载均衡算法中,如果有映射需求且允许少量不可达重新映射,比如分布式...

  • 《分布式技术原理与算法解析》学习笔记Day25

    负载均衡 负载均衡是分布式可靠性中非常关键的一个问题,它在一定程度上反映了分布式系统对业务处理的能力。 什么是负载...

  • 关于负载均衡

    分布式系统中,负载均衡是一个重要功能,常见负载均衡的策略有random,round-robin,least-act...

  • 哈希算法(下)

    哈希算法在分布式系统中的应用 负载均衡 1.需求如何实现一个会话粘滞(session sticky)的负载均衡算法...

  • Nginx学习(一):负载均衡常见手段

    负载均衡   负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数...

  • 负载均衡及负载均衡器

    负载均衡在分布式系统中,负载均衡(load balancing)是一种有效的将网络请求分配到多个服务器的过程。通过...

  • 关于负载均衡的一切,简单易懂

    什么是负载均衡? 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求...

网友评论

      本文标题:分布式系统的负载均衡

      本文链接:https://www.haomeiwen.com/subject/zskhxktx.html