栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

从网络到高并发负载均衡

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从网络到高并发负载均衡

从网络到高并发负载均衡 引言

在现在这个时代,上网并具消费能力的群体有2亿多。如果要获得这些流量,从技术这个角度来看,系统需要承受亿级的并发,那么怎么hold住这么大的并发呢。本篇就从网络出发,讲解下应对高并发的技术—负载均衡器。

网络架构 五层架构体系

流量最直接的来源是网络,所以我先从网络开始讲起。这里我们从五层架构体系出发,如下图,简单介绍下各层的作用。

物理层:信号传输的媒介,电缆,wifi等。

链路层:节点间通讯,比如arp协议

网络层:端点间通讯,ip协议

传输控制层:传输控制,如TCP(三次握手,四次挥手),UDP协议等

应用层:服务应用发出网络请求

请求在网络中的传输

当我们在应用层发起一个请求后,应用层会阻塞等待传输控制层的返回。传输控制层规定了怎样才算和目标主机连接成功。网络层根据目标的ip去网络中寻找目标主机,这个过程中可能有多个网络,我们要知道请求去往哪个网络,所以我们需要路由器,路由器里有路由表,告诉你目标网络在哪条路上。在每个网络中,主机之间可以相互通讯,这里就需要交换机了。网络层将消息给链路层后,等待链路层的返回,链路层需要找到路由器,才能知道接下去要去哪个网络。那怎么知道自己要找的路由器呢,链路层有一个协议叫arp,该协议规定一台主机开机时,网卡就会发包去找路由器的mac地址,找到就存下来了。物理层可以理解为一个传输介质,通过其链路层找到路由器了,然后去往下一个网络,循环往复,最后找到指定的ip。目标主机收到请求后,会一层层解包传递到应用层,一个请求算是结束了。

带负载均衡器的网络架构

在这种情况下,要是有很多的用户,发请求到同一台服务器,整个过程中路由器可以有很多台,交换机可以有很多台,但目标ip的主机只有一台。它收到请求后本身就要干很多活,又一下子来了那么多,那就很容易扛不住。那怎么办呢,我们很容易想到一个词,分而治之,可是ip只有一个,请求只能打到指定ip的主机上。既然无法避免收到那么请求,那收到请求后要干的活能不能给别人干呢,答案是能。这个只做转发的机子就叫负载均衡服务器。加入负载均衡器后的网络如下图所示。

负载均衡器的三种实现模型

上面提到负载均衡器将收到的请求要转发给后面的服务器,这里就涉及到网络地址转换了。

D-NAT模型

目标地址转换。打到负载均衡器,负载均衡器转变目标地址,将请求给到服务器。服务器返回给负载均衡器,负载均衡器转变地址后返回客户端。这种传输方式是非对称,来的信息和返回的信息大小不一致。来回都经过负载均衡服务器,消耗服务器带宽,算力。

D-R模型

在这种模型中,VIP是客户端请求目标的ip,服务器会隐藏一个VIP。请求打到负载均衡器,通过arp协议找到服务器,服务器通过隐藏的VIP直接将请求返回客户端。由于是通过arp协议找到的服务器,这里要求服务器和负载均衡器需要在一个局域网里。

TUN隧道技术

在这种模型中,VIP是客户端请求目标的ip,服务器也会隐藏一个VIP。请求打到负载均衡器,负载均衡服务器会在CIP->VIP上套上其到服务器的ip(DIP->RIP)。服务器处理完请求后,会根据包着的ip返回请求到客户端。相对于D-R模型,这里负载均衡器和服务器不会受限于局域网。

写在最后

本文从网络架构知识出发,推导出了三种网络模型。现实中实现负载均衡的技术为LVS(Linux Virtual Server),下篇会用LVS做一个小实验,实现DR模型。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867945.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号