简介

负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台 ECS 的流量分发控制服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。

负载均衡主要有如下几个功能点:

  • 负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。

  • 负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。

  • 负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。

核心概念

负载均衡服务主要有三个核心概念:

  • LoadBalancer:负载均衡实例。
  • Listener:用户定制的监听器,定义了负载均衡策略和转发规则。
  • BackendServer:后端的一组ECS(云服务器)。

下图描述了负载均衡服务的核心概念。来自外部的访问请求,由负载均衡实例根据相关的策略和转发规则分发到后端ECS进行处理。

协议支持

当前提供4层(TCP协议和UDP协议)和7层(HTTP和HTTPS协议)的负载均衡服务。

健康检查

支持对后端ECS进行健康检查,自动屏蔽异常状态的ECS,待该ECS恢复正常后自动解除屏蔽。

会话保持

提供会话保持功能,在Session的生命周期内,可以将同一客户端的请求转发到同一台后端ECS上。

调度算法

支持加权轮询(WRR),加权最小连接数(WLC),和轮询3种调度算法。

  • 加权轮询:根据服务器的处理能力为后端 ECS 分配不同的权值,将外部请求依序分发到后端ECS上,后端ECS权重越高被分发的几率也越大。
  • 加权最小连接数:根据服务器的处理能力为后端 ECS 分配不同的权值,将外部请求分发到当前连接数最小的后端ECS上,后端ECS权重越高被分发的几率也越大。
  • 轮询:将外部请求依序分发到后端ECS上。

域名URL转发

针对七层协议(HTTP协议和HTTPS协议),支持按用户访问的域名和URL来转发流量到不同的虚拟服务器组。

访问控制

支持白名单控制,通过设置负载均衡监听,仅允许特定IP访问,适用于用户的应用只允许特定IP访问的场景。(只能通过Lua)

使用场景

负载均衡主要可以应用于以下场景中:

  • 灵活的进行流量分发,适用于具有高访问量的业务。

  • 横向扩展应用系统的服务能力,适用于各种 web server 和 app server。

  • 消除应用系统的单点故障,当其中一部分 ECS 发生故障后,应用系统仍能正常工作。

  • 提高应用系统容灾能力,多可用区部署,机房发生故障后,仍能正常工作。

https://help.aliyun.com/document_detail/27541.html?spm=5176.doc27543.6.544.5RC2R1

术语表

 
中文 英文 说明
负载均衡服务 Server Load Balancer 阿里云计算提供的一种网络负载均衡服务,可以结合阿里云提供的 ECS 服务为用户提供基于 ECS 实例的 TCP 与 HTTP 负载均衡服务。
负载均衡实例 Load Balancer 负载均衡实例可以理解为负载均衡服务的一个运行实例,用户要使用负载均衡服务,就必须先创建一个负载均衡实例,LoadBalancerId 是识别用户负载均衡实例的唯一标识。
负载均衡服务监听 Listener 负载均衡服务监听,包括监听端口、负载均衡策略和健康检查配置等,每个监听对应后端的一个应用服务。
后端服务器 Backend Server 接受负载均衡分发请求的一组ECS,负载均衡服务将外部的访问请求按照用户设定的规则转发到这一组后端 ECS上进行处理。
服务地址 Address 系统分配的服务地址,当前为IP地址。用户可以选择该服务地址是否对外公开,来分别创建公网和私网类型的负载均衡服务。
证书 Certificate 用于 HTTPS 协议。用户将证书上传到负载均衡中,在创建 HTTPS 协议监听的时候绑定证书,提供 HTTPS 服务。
主可用区 Master Availability Zone 负载均衡会在某些地域的多个可用区进行部署,用户可指定主备可用区创建负载均衡实例,该实例将默认工作在主可用区。
备可用区 Slave Availability Zone 负载均衡会在某些地域的多个可用区进行部署,用户可指定主备可用区创建负载均衡实例,当主可用区发生故障时,该实例可切换到备可用区工作。

【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍的更多相关文章

  1. 转载-lvs官方文档-LVS集群中的IP负载均衡技术

    章文嵩(wensong@linux-vs.org) 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN ...

  2. 《Spark Python API 官方文档中文版》 之 pyspark.sql (二)

    摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...

  3. Kafka学习笔记(一):概念介绍

    Kafka是一个开源的,分布式的,高吞吐量的消息系统.随着Kafka的版本迭代,日趋成熟.大家对它的使用也逐步从日志系统衍生到其他关键业务领域.特别是其超高吞吐量的特性,在互联网领域,使用越来越广泛, ...

  4. Akka Typed 官方文档之随手记

    ️ 引言 近两年,一直在折腾用FP与OO共存的编程语言Scala,采取以函数式编程为主的方式,结合TDD和BDD的手段,采用Domain Driven Design的方法学,去构造DDDD应用(Dom ...

  5. TestNG官方文档中文版(1)-介绍

    TestNG的官方文档请见: http://testng.org/doc/documentation-main.html 1. 介绍    TestNG是一个设计用来简化广泛的测试需求的测试框架,从单 ...

  6. [Python3]Python官方文档-Python Manuals

    简介 一般情况下,初学者都不愿意直接去浏览Python Manuals,即Python自带的官方文档.尤其是只有英文版的情况下,初学者更加不会去使用该官方文档了. 在这里笔者强力推荐初学者经常学会使用 ...

  7. Kryo官方文档-中文翻译

    Kryo作为一个优秀的Java序列化方案,在网上能找到不少测评,但未见系统的中文入门或说明文档.官方文档是最好的学习文档.虽然英文不差,但啃下来毕竟没母语来的舒服.这里抽出时间做些翻译,以方便大家查阅 ...

  8. 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  9. 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  10. 2DToolkit官方文档中文版打地鼠教程(一):初始设置

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

随机推荐

  1. iOS- Swift:指触即开,如何集成Touch ID指纹识别功能

    1.前言 随着移动支付时代的到来,Touch ID 指纹验证迅速被支付宝,微信钱包普及,相信各位朋友使用后也大呼方便.之前写了篇关于iOS9的3D Touch的集成使用,有朋友在我博客下提到,让我写一 ...

  2. C++获取private的变量-偷走private

    private提供了对数据的封装,使得private成员只能被类自身的成员函数以及类的友元访问,其他的函数或者类想要访问private成员只能通过该类所提供的set和get的方法进行访问, 或者返回其 ...

  3. 『编程题全队』Alpha 阶段冲刺博客集合

    『编程题全队』Alpha 阶段冲刺博客集合 »Day1 2018年4月19日 博客连接:『编程题全队』Alpha 阶段冲刺博客Day1 »Day2 2018年4月20日 博客连接:『编程题全队』Alp ...

  4. 评论alpha发布

    第一组:新蜂小组 题目:俄罗斯方块 评论:很荣幸被邀请体验此游戏,感到加速下落时不是很灵敏,没有计分,页面不够美观(据说还在改善),整体框架已完成,基本功能已具备. 第二组:天天向上 题目:连连看 评 ...

  5. NLP & 中文分词

    NLP & 中文分词 中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列. 中文自然语言处理系统 https://www.ltp-cloud.com/int ...

  6. MySQL复合主键下ON DUPLICATE KEY UPDATE语句失效问题

    问题的起因,假设有一张表,里面保存了交易订单,每张订单有唯一的ID,有最后更新时间,还有数据,详情如下: 1 2 3 4 5 6 7 +-------+----------+------+-----+ ...

  7. python自动化之word文档

    #########################docx文件############################ ''' .docx文件有很多结构,有3种不同的类型来表示 在最高一层,Docum ...

  8. 【spring】- springmvc 工作原理

    原理 本质是将DispatcherServlet及关联的Spring上下文环境的初始化工作织入Servlet的生命周期内,将外部WEB请求转换为Spring Bean能处理的形式,然后将处理后的结果借 ...

  9. 【BZOJ1858】序列操作(线段树)

    [BZOJ1858]序列操作(线段树) 题面 BZOJ 题解 这题思路很简单,细节很烦,很码 维护区间翻转和区间赋值标记 当打到区间赋值标记时直接覆盖掉翻转标记 下放标记的时候先放赋值标记再放翻转标记 ...

  10. 【BZOJ1801】【Ahoi2009】chess 中国象棋

    Time Limit: 10 Sec Memory Limit: 64 MB Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方 ...