V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cloudpods
V2EX  ›  推广

详解 LB 负载均衡的应用

  •  
  •   Cloudpods · 2022-04-29 16:15:04 +08:00 · 3182 次点击
    这是一个创建于 939 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Cloudpods 是一个开源的 Golang 实现的云原生的多云和混合云融合平台。

    Cloudpods 不仅可以管理本地的虚拟机和物理机资源,还可以管理其他公有云和私有云平台的资源。

    GitHub: https://github.com/yunionio/cloudpods,欢迎使用+star

    今天分享的内容是“云上负载均衡产品的应用”。会从以下几个方面展开:

    • 负载均衡产品简介。主要介绍负载均衡作为一个云上产品,它的功能模型是怎样的,日常使用中会遇到的业务词汇
    • 负载均衡的功能与典型应用场景。这部分主要结合业务词汇,对负载均衡服务中常见的一些功能选项进行介绍,并举例介绍一些典型的应用场景
    • 最后,介绍负载均衡产品相比传统方式的优点

    一、产品简介

    1. 以 NGINX 为例

    提到负载均衡,我们以前一般先会想到 NGINX ,或者淘宝的分支 Tengine 。我们先来看看

    • 它是怎样工作的
    • 它解决了什么样的问题
    • 它适合什么样的应用场景

    图片

    在加入了 NGINX 之后,客户端( Client IP )首先与 NGINX 建立连接( Virtual IP+Virtual Port ),请求也先发给 NGINX ,再由 NGINX 从多个后端服务器中选择一台,建立连接后把请求转发给后端服务器( Real IP )。

    NGINX 作为网络转发节点,不参与后端服务的业务逻辑处理。而相比客户端直连后端,多个后端服务器可同时处理业务请求,应用的服务能力得到水平扩展。同时,转发节点上可以对后端做健康检查,自动屏蔽掉不健康的后端服务器,保障业务的高可用,使得单个后端服务器在故障、升级、过载时依然对用户连续可用。

    因此,我们说水平扩展、高可用是负载均衡解决的最基本的两个问题。从另外一方面来说,使用负载均衡的业务,在架构设计上应该是能够水平扩展的。比如,一个应用的多个实例之间不需要通信,相互之间没有复杂的状态维护。

    2. 业务词汇

    在使用云上负载均衡的时候,不管哪个厂商的产品,我们会遇到一些常用的业务词汇。我们围绕一张图来简要介绍。

    图片

    负载均衡实例,除了区域、可用区之外,每个实例至少有一个 IP 地址。同一个负载均衡实例下可以有多个监听,每个监听一般至少有协议、端口两个属性。后面还会介绍监听的其它属性,比如调度算法、健康检查、转发策略等。

    实例和监听对应到 NGINX 上,其实是 Virtual IP 和 Virtual Port 的组合。每个监听有一个后端服务器组,组内可以有多个后端服务器,监听将来自客户端的请求转发给后端服务器( Real IP 、Real Port )。

    对于 HTTPS 协议的监听,我们还会遇到 TLS 证书的概念。

    通常每个监听还可以绑定一个访问控制列表,用来设置黑名单、白名单,限定业务的服务范围。

    将业务词汇放到转发模型上,我们可以得到这样一张图。在壹云的负载均衡实现中,转发节点使用 HAProxy 负责具体的流量转发。实例和监听的配置被转换为 HAProxy 的配置应用到转发节点上。HAProxy 据此将流量转发到后端服务器组。

    图片

    因篇幅过长,后续的功能与应用场景,和总结等详细内容请点击链接查看 https://mp.weixin.qq.com/s/3IWF-HwGAI6FquKsoGbAcA

    GitHub: https://github.com/yunionio/cloudpods

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1927 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:17 · PVG 00:17 · LAX 08:17 · JFK 11:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.