吃透负载均衡之概念
发布时间 2023-11-09 次浏览

一、 写在前面


本文的目的:

对负载均衡的理解零零散散,不成体系。

阅读这篇文章需要的条件:

1、对 OSI 模型有些许了解;

2、有耐心。本文涉及大量的知识点,且只能用文字才能讲清楚,所以文字比较多(已分段~)。

收获:

读完此篇文章,从宏观的角度理解了负载均衡的原理以及实现机制。加深对分布式架构的了解。

主要内容:

本文首先从概念开始,讲解什么是负载均衡,以及负载均衡在分布式系统中所承担的角色以及提供的功能;

讲解负载均衡的分类。分别从软硬件角度、地域范围角度以及 OSI 模型角度进行分类讲解负载均衡的实现方案;

从负载均衡的策略角度,分析目前业界的负载均衡算法以及其优缺点。

好了,准备好了么,让我们开始这次愉快之旅。



二、引言


首先,撇开对线上的影响,如果线上突发来了流量,后端服务扛不住,我们会怎么做呢?

无非两种方式:

1、提升机器配置,CPU、内存、硬盘、带宽等;

2、加机器

上面两种方式,我们称之为纵向扩展和横向扩展。

纵向扩展,是从单机的角度通过增加硬件处理能力,比如 CPU 处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。

横向扩展,通过添加机器来满足大型网站服务的处理能力。比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。



三、概念


负载均衡,英文名称为 Load Balance,其含义就是指将负载(工作任务或者网络请求)进行平衡,分摊到多个操作单元(服务器或者组件)上进行运行。目的是尽量将网络流量 平均 发送到多个服务器上,以保证整个业务系统的高可用。


image.png


负载均衡,在互联网的早期,网络还不是很发达,流量相对较小,业务也比较简单,单台服务器或者实例就有可能满足访问需要。但如今在互联网发达的今天,流量请求动辄百亿、甚至上千亿,单台服务器或者实例已完全不能满足需求,这就有了集群。不论是为了实现高可用还是高性能,都需要用到多台机器来扩展服务能力,用户的请求不管连接到哪台服务器,都能得到相同的相应处理。

另一方面,如何构建和调度服务集群这事情,又必须对用户一侧保持足够的透明,即使请求背后是由一千台、一万台机器来共同响应的,也绝非用户所关心的事情,用户需记住的只有一个域名地址而已。调度后方的多台机器,以统一的接口对外提供服务,承担此职责的技术组件被称为负载均衡。


负载均衡主要有以下作用:

高并发。通过采取一定的算法策略,将流量尽可能的均匀发送给后端的实例,以此提高集群的并发处理能力;

伸缩性。根据网络流量的大小,增加或者减少后端服务器实例,由负载均衡设备进行控制,这样使得集群具有伸缩性;

高可用。负载均衡器通过算法或者其他性能数据来监控候选实例,当实例负载过高或者异常时,减少其流量请求或者直接跳过该实例,将请求发送个其他可用实例,这使得集群具有高可用的特性;

安全防护。有些负载均衡器提供了安全防护功能。如:黑白名单处理、防火墙等。

联系我们
7*24小时服务热线: (027)-87733188
版权所有:中科安信科技有限公司 鄂ICP备2022012881号-1
联系我们
x
技术支持
>
  • 联系方式
  • 服务电话:(027)-87733188

申请合作
>
  • 电子邮箱:dinglinlin0628@163.com