F5炼魔葵花宝典---开篇

F5炼魔葵花宝典---开篇

Hello哇,欢迎大家来到全新的栏目,《F5炼魔葵花宝典》。

《葵花宝典》,欲练此功,必先自宫!!

当然,开个玩笑,对于这个栏目,我是希望自己能够把自己当成小白,重新学习。

以前其实也动过想要写类似总结的念头,但是总觉得自己好像这些知识都了解掌握了,没有什么好写的,也就失去了坚持下去的动力。

至于是魔是仙,全在你的一念之间了。

我从2018年开始工作便开始接触F5;从刚开始根本不知道什么是F5,什么是负载均衡的小白,一直到现在,也算是对于F5有一定沉淀的一位中生代工程师;想想也是挺感激现在的老板的,在当初能够给我这个机会接触到这个行业,进入这个行业。

我也是想借这个机会,对自己的知识体系做一个梳理,也希望对后面进入这个行业,接触这个产品的朋友们一点借鉴。

Annyway,我们开始今天的话题;

那作为开篇,我们还是先来讲讲一些负载均衡的基本知识。

负载均衡概述

负载均衡,听起来好像很陌生,其实在我们的生活中是随处可见的,举几个简单的例子;

大家应该都有过银行或者营业厅办理业务的经验,营业厅一般都会有很多的窗口,可能有的营业厅会几个窗口办理相同的一类业务,那么在我们要去哪个窗口办理业务呢?这个时候我们一般会根据自己想要办理的业务类型,来取号,取完号以后,等待叫号机分配我们去到哪个窗口就好了。

那其实这就是一种负载均衡,就是对于大量的请求,根据一定的规则,将这些请求分发到对应的一组后端去。

那在网络的世界中呢,主要有这些概念:

  • 节点---营业厅的窗口,这些窗口提供特定的服务;

  • 资源池---一组提供相同服务的窗口,这些窗口提供相同的服务,去到哪个窗口都能够获得一样的服务;

  • 负载均衡器---取号机+叫号器,他可以判断什么时候轮到你去办理业务,你要去哪个窗口办理业务,你要办理的业务能不能在这个营业厅办理;

  • 请求---需要办理业务的人。

通过上面的举例,相信大家对于负载均衡的工作场景和原理应该有一些大概的概念了,那么接下来,我们就进入网络的世界,来学习一下什么是负载均衡。

在现实的网络中,上了规模的企业网、银行、互联网等等,提供服务的后端都不会是一台,他们往往都是多台集群化部署的,一方面是为了冗余备份,不至于一台出现故障,整个业务垮掉;另一方面是为了方便性能的扩展,如果是单台设备网上堆性能,很容易达到单台设备的性能瓶颈,而横向扩展往往是最方便和最经济的一种做法。

但是对于服务的前端,我不可能把所有的后端服务端口都暴露给用户,让用户自己去选择入口,或者是运维人员手动给用户分配入口,因为这样会大大降低灵活度、时效性并增大运维人员的运维工作量。

那有没有一种技术,能够当作服务和用户之间的桥梁,我只需要暴露一个端口,由这个技术帮我接收用户的请求,并由他来判断用户的请求应该分发给哪个后端呢?

负载均衡器就由此诞生了。

他的工作模式就如下图所示:

image-20250402165903715

这里大家就可以看出来,在这个架构中,负载均衡器就成为了很重要的核心组件了,那么衡量这个核心组件的关键指标都有哪些呢:

  • 吞吐---Throughput

吞吐方面还分为四层吞吐和七层吞吐,那么什么是吞吐呢?

吞吐是指这个负载均衡器每秒钟能够处理的数据流量是多少,这个流量分为四层流量和七层流量。

四层流量是指TCP类型的请求流量,而七层流量一般是指HTTP类型的流量以及基于HTTP衍生的各种流量类型,如API、WS等

  • 新建连接数---New Connections

新建链接数指每秒钟可以建立的链接数

  • 并发连接数---Concurrent Connections

是指负载均衡器能够维持的连接数

  • SSL加解密性能

随着现在HTTPS的应用越来越广泛,对于负载均衡器的SSL加解密的性能要求也越来越高,因为如果要做基于七层的复杂的负载,负载均衡器对于HTTPS的流量就必须先做解密,解密完成后才能够了解和判断HTTP请求的内容和特征,才能够做下一步的怕判断和分发。这就要求负载均衡器要由很强的SSL加解密性能,才能够支撑更加庞大的业务体量。

负载均衡器的分类

现在市面上主流的分类大体上分为三类:

  • 物理硬件
  • 软件
  • 公有云

物理硬件主要有:

国外厂商:

  • F5,产品系列有LTM\AWAF\DNS\SSLO\APM等,产品覆盖面广,更偏向应用交付,有强大的iRule,能够灵活定义流量分发机制等,支持的协议也是最广泛的
  • Citrix(现为 Cloud Software Group),产品系列有NetScaler(原 Citrix ADC),其深入集成VDI,现在已退出中国
  • A10 Networks,产品系列有Thunder Series(如 Thunder ADC),特点是支持AI/ML进行智能流量分析,现在在国内市场保有量较低
  • Radware,产品系列有Alteon,特点是有基于AI的智能流量管理,现在中国区的支持人员不足,保有量也比较低
  • Kemp Technologies(现为 Progress),产品系列有LoadMaster,比较小众的品牌,能够提供自动伸缩和GEO负载均衡

国产厂商:

  • 深信服,产品系列有深信服应用交付 AD(Application Delivery),一般应用在教育、医疗行业较多;
  • 迪普科技,产品系列有DPtech ADC,能够完全符合国家XC要求的产品;
  • 山石网科,产品系列有Hillstone Load Balancer,也是能够完全符合国家XC要求的产品;
  • 神州云科通明湖,产品系列有YK-ADC系列,与F5深度合作,完全符合国家XC标准,从F5技术脱胎而来,在使用习惯、使用逻辑等更加贴合F5;

软件负载产品主要有:

  • Nginx,可以说是世界知名的软件负载产品,具备轻量化、高性能的特点,现在被F5.Inc收购,分为开源和商业两个版本,开源版的使用范围最广,一方面能够作为Web Server,另一方面也能够作为LB来使用
  • HAProxy,与Nginx类似,性能高,一般适用于大型API服务器、数据库前端代理
  • LVS,与Nginx、HAProxy为排名前三的软负载产品
  • Envoy,一般更多应用在微服务、Service Mesh的场景中

公有云的负载产品就取决于各家的公有云厂商了:

  • AWS的ELB
  • Google的GCLB
  • Azure的ALB
  • 阿里云的SLB
  • 腾讯云的CLB
  • 华为云的ELB
  • 金山云的KLB
  • 百度云的BCLB
  • 京东云的JDCloud LB
  • 火山云的TLB

大家都大差不差,很多都是基于Nginx去进行开发和包装的,所以在软负载这块儿感觉Nginx才是王道哇。

在硬件厂商里面可以说F5是绝对的领导者,常年处在Gartner象限的领导者地位,F5.Inc收购Nginx可以说是强强联合,但是很可惜,目前Nginx在商业化这块还没有摸清楚应该要如何去走,这都是后话了。

负载均衡的算法

负载均衡有很多的算法,比如常用的有轮询、比率、最小链接、IP哈希、等等,那目前负载均衡方式支持的最多最灵活的应该就是F5了,这个后面会有章节专门介绍负载均衡的算法。

当然,还有很多的名词以及场景,这些后面的章节中将会逐一讲解。今天暂且到这里吧。

下一章将介绍负载均衡的分类以及F5中一些名词的介绍和解释,还请持续关注哟~

如有错误,也还请大家纠正~

欢迎大家关注我的公众号,方便大家手机观看,如有更新也会第一时间推送给大家~

qrcode_for_gh_17f7ae019e68_258

See yo!

Motto: Actions speak louder than words.

posted @ 2025-04-03 01:30  爱吃肉的小Jeremy  阅读(40)  评论(0)    收藏  举报