写点什么

LB 服务:硬件如何被软件取代(上)

  • 2020-04-01
  • 本文字数:1579 字

    阅读完需:约 5 分钟

LB服务:硬件如何被软件取代(上)

大业务上云,难免要用到 LB。可是,您是否了解 LB 的来龙去脉?本文浅谈一下 LB,从硬件走到软件,他们经历了什么转变。


几年前,刚接触网络的时候,就听过一个称呼:四层交换。



四层交换,顾名思义,就是基于传输层的 TCP/UDP 协议进行数据交换的,利用端口信息区分报文,可进行数据包过滤、服务质量(QoS)、负载均衡、主机备用连接、统计和报告等。而我们使用最频繁的,便是负载均衡(LB)。


盒子时代,业界最出名的三家四层交换厂商:F5、citrix、radware。至今还称霸着负载均衡的市场。



四层交换在负载均衡另有,主要提供三大类负载均衡服务:


  • LSLB:Local Server Load Balance

  • GSLB:Global Service Load Balance

  • LLB:Link Load Balance


LSLB(本地负载均衡):给本地集群部署的多台服务器提供流量负载分担能力。应用的 V-IP 在四层交换上,四层交换根据配置的负载均衡算法和会话保持算法分发给后端服务区。



这里提到两个概念,负载均衡算法会话保持算法


负载均衡算法:即流量到了 LB 以后,应该分给谁,常见的算法有轮询、最小用户数、最小流量、哈希等。


会话保持算法:首包通过负载均衡算法确定发给具体那一台后端以后,要生成 session,以指导后续报文转发。而生成的 session 可以根据配置只记录某些信息,比如只记录源地址而不纪录端口,这样相同的源的不同请求(源 port 不一样)也会发给相同的后端。


GSLB(全局负载均衡):应用在多站点部署,GSLB 可根据访问者的位置,提供就近接入能力。其实 GSLB 更多地是一种 DNS 重定向能力。



如图,访问者在广州,要去访问:www.huawei.com,请求本地 DNS 解析时,DNS 通过递归查询发现域名是托管在 GSLB 的,于是向 GSLB 发出申请,GSLB 通过测试自己到 DNS 的延迟,识别出来广州站点离用户最近,于是将广州的 IP 地址返回给用户,用户请求被重定向给广州站点。


LLB(链路负载均衡):当访问一个应用,有多条线路可以同时到达时,LLB 会提供线路优选,根据访问者或者线路的负载情况选择最有线路。常用于优选电信和联通都存在线路接入的场景。



这几种负载均衡场景,都是 IT 行业里最普遍的场景。而 F5、Radware、Citrix 也是 IT 界大名鼎鼎的公司。并且随着技术的演进,四层交换设备已经不仅仅只能提供四层的 LB,七层的能力已经逐步完善。


可是为何到了云时代以后,他们的名声虽然依旧响亮,但是始终感觉不如从前了呢?而上面的几种功能,在云时代又是如何提供的呢?


再强大的盒子,能支撑的流量也不过百 G 级别。而在互联网迅速崛起的年代,100G 流量根本不算什么,王者荣耀据说流量总和已经达到了 800G(小道消息,待考证)。而类似于 google 的 8.8.8.8,对流量和可靠性的需求,根本不是一个盒子可以承担得起的。


于是近几年,负载均衡软件蓬勃发展,结合动态路由协议实现 anycast 等能力后,拓展性和可靠性达到了一个质的飞跃。


LSLB 逐步被 HA proxy、LVS、Nginx 等软件代替,各大互联网公司也纷纷基于开源软件进一步开发加固,做出了自己的 LB 集群。比如腾讯的 TGW,还有阿里的 LVS 集群等。


而 GSLB,其实也只是承担了一个 DNS 重定向的能力,也逐步被智能 DNS 解析服务所取代,比如 AWS 敢于承诺 100%可用性的 Router53、腾讯的 dnspod 等。


LLB 呢?被运营商提供的 BGP 线路所取代。传统的 LLB 还需要每一个运营商 1 个 IP,而 BGP 直接允许相同的 IP 在不同的运营商网络里广播,根据 BGP 协议自己实现就近接入。


当然,云还是比较包容的。盒子可能不太适合大规模服务化,但是给某一些企业使用还是很不错的选择,AWS 跟 F5 合作,可以将 F5 软件化,部署到 VM 中,在云的模式下还可以继续提供服务。


华为云服务中,也同样提供了各种负载均衡方案,以支持业务 LSLB 和 GSLB 的需求。具体华为云如何提供?使用华为云 ELB 服务有哪些注意事项?


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/t93Gp5ZuJSSqp7zfGbOqow


2020-04-01 21:141383

评论

发布
暂无评论
发现更多内容

Istio 1.8 发布——用户至上的选择

Jimmy Song

开源 云原生 Service Mesh istio

《JAVA多线程设计模式》.pdf

田维常

多线程

深入浅出 Go - sync.Once 源码分析

helbing

Go 语言

强化学习入门必看之强化学习导识

Alocasia

人工智能 学习

11月阿里Spring全家桶+MQ微服务架构笔记:源码+实战

小Q

Java 学习 程序员 面试 微服务

架构师训练营第九周作业

_

极客大学架构师训练营 第九周作业

阿里达摩院副院长亲自所写Java架构29大核心知识体系+大厂面试真题+微服务

Java架构追梦

Java 学习 阿里巴巴 架构 面试

MySQL主从数据库没有同步怎么办?

冰河

MySQL 数据库 分布式 微服务

公众号高频被调整,它不是企业生产文章的机器

Linkflow

客户数据平台 CDP 私域流量

快进收藏吃灰!字节跳动大佬用最通俗方法讲明白了红黑树算法

小Q

Java 学习 架构 面试 算法

媲美物理机,裸金属云主机如何轻松应对11.11大促

京东科技开发者

云计算 容器 服务器 云主机

Scrum指南这么改,我看要完蛋!

华为云开发者联盟

Scrum 敏捷 改版

区块链数字钱包系统开发方案,区块链钱包APP源码

13530558032

合约跟单源码案例,合约跟单模式开发

13530558032

万字图文 | 聊一聊 ReentrantLock 和 AQS 那点事(看完不会你找我)

马丁玩编程

架构 AQS ReentrantLock JUC CLH

DataPipeline CPO 陈雷:实时数据融合之道,博观约取,价值驱动

DataPipeline数见科技

数据融合

接口测试学习之json

测试人生路

json 接口测试

OpenFeign和Consul爱恨交织的两天

编号94530

Spring Cloud Consul OpenFegin spring 5

一致性hash算法

天涯若海

数字货币交易所开发有哪些模式?区块链交易平台

13530558032

区块链社交即时通许系统开发,区块链社交app开发价格

13530558032

UNISKIN COO Kevin|营销数字化:数据沉淀和数据系统化运营一定要趁早!

Linkflow

营销数字化 客户数据平台 CDP

微信官方将打击恶意营销号:自媒体不可过度消费粉丝

石头IT视角

面试官问:如何排除GC引起的CPU飙高?我脱口而出5个步骤

田维常

cpu飙满

Springboot过滤器和拦截器详解及使用场景

996小迁

Java 编程 架构 面试 springboot

深入浅出 Go - sync.Map 源码分析

helbing

Go 语言

架构师训练营第九周作业

我是谁

极客大学架构师训练营

深入理解h2和r2dbc-h2

程序那些事

响应式编程 R2DBC 程序那些事 响应式架构 r2dbc-h2

DataPipeline CPO 陈雷:实时数据融合之法,稳定高容错

DataPipeline数见科技

数据融合

DataPipeline CPO 陈雷:实时数据融合之法,便捷可管理

DataPipeline数见科技

数据融合

DataPipeline CTO 陈肃:构建批流一体数据融合平台的一致性语义保证

DataPipeline数见科技

数据融合

LB服务:硬件如何被软件取代(上)_文化 & 方法_华为云产品与解决方案_InfoQ精选文章