而单个防火墙上看不到完成用户会话的信息,就会认为数据非法因此抛弃数据 。
所以在每个防火墙的两端要架设四层交换机,可以在作流量分发的同时,维持用户会话的完整性,使同一用户的会话由一个防火墙来处理 。而这种场景就需要 F5 负载均衡器协助才能完成转发 。
有趣的是,F5 协调上述方案的配置和实现后,会把“交换机”,“防火墙”,“交换机”夹在了一起好像三明治一样 。
文章插图
防火墙“三明治”
③服务器负载均衡
在硬件负载均衡器挂接多个应用服务器时,需要为这些服务做负载均衡,根据规则,让请求发送到服务器上去:
- 对于服务器的负载均衡的前提是,服务器都提供同样的服务,也就是同样的业务同时部署在多个服务器上 。
- 对于应用服务器可以在 F5 上配置并且实现负载均衡,F5 可以检查服务器的健康状态,如果发现故障,将其从负载均衡组中移除 。
- F5 对于外网而言有一个真实的 IP,对于内网的每个服务器都生成一个虚拟 IP,进行负载均衡和管理工作 。因此,它能够为大量的基于 TCP/IP 的网络应用提供服务器负载均衡服务 。
- 根据服务类型不同定义不同的服务器群组 。
- 根据不同服务端口将流量导向对应的服务器 。甚至可以对 VIP 用户的请求进行特殊的处理,把这类请求导入到高性能的服务器使 VIP 客户得到最好的服务响应 。
- 根据用户访问内容的不同将流量导向指定服务器 。
聊完了硬件负载均衡器的特点和功能以后,让我们来总结一下它的优缺点:
- 优点:直接连接交换机,处理网络请求能力强,与系统无关,负载性能强 。可以应用于大量设施,适应大访问量、使用简单 。
- 缺点:成本高,配置冗余 。即使网络请求分发到服务器集群,负载均衡设施却是单点配置;无法有效掌握服务器及应使用状态 。
说完硬件负载均衡,再来谈谈软件负载均衡 。软件负载均衡是指在一台或多台服务器的操作系统上安装一个或多个软件来实现负载均衡 。
它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求 。
代理层通常起到承上启下的作用,上连“接入层”,下接应用服务器(上游服务器),可以做反向代理,缓存,数据验证,限流 。本文会一一为各位介绍 。
目前市面上比较流行的软件负载均衡有 LVS,HAProxy,Ngnix 。由于篇幅有限我们通过应用广泛的 Nginx 为切入点,给大家讲解,之后会把上面三类软件进行一个对比 。
功能描述和原理分析
对于程序员来说,接触最多的就是软件负载均衡 。不仅要知道如何使用,同时也要了解背后的原理,下面列举了其最常用到的 4 大功能 。
①反向代理与负载均衡
第一个功能是反向代理与负载均衡,如下图:
文章插图
客户端是如何把请求发送到应用服务器的
客户端把请求发送到应用服务器有如下几个步骤:
- 客户端请求 URL 给 DNS 。
- DNS 将 URL 转化成对应的 IP 。
- 通过 IP 找到服务器 。
- 服务器接受到请求的报文,转交给接入层处理,接入层由于采用了硬件负载均衡器,所以能够扛住大数据量 。
- 接入层把报文再次转交给代理层(并发 5W),代理层的 Nginx 收到报文再根据反向代理的策略发送给上游服务器(应用服务器) 。
实际上负载均衡的算法是很多的,这里以 Nginx 为例,介绍五种算法:
- Round-Robin:轮询算法,默认算法 。对上游的服务器进行挨个轮询,这个算法是可以配合 Weight(权重)来实现的 。
- Weight:权重算法,给应用服务器设置 Weight 的值 。Weight 默认值为 1,Weight 参数越大被访问的几率越大 。可以根据服务器的配置和资源情况配置 Weight 值,让资源情况乐观的服务器承担更多的访问量 。
- IP-Hash:这个算法可以根据用户 IP 进行负载均衡,同一 IP 的用户端请求报文是会被同一台上游服务器响应的 。也就是让同一客户端的回话(Session)保持一致 。
- Least_conn:把请求转发给连接数较少的后端服务器 。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高 。这种情况下,Least_conn 这种方式就可以达到更好的负载均衡效果 。
推荐阅读
- 漫谈Gossip协议与其在Redis Cluster中的实现
- Python实现全自动购买火车票!抢票回家过年咯
- 微软开源CMS,开公司想创业用它就对了
- Mysql数据库实现主从同步,看这一篇就够了
- 不想吃饭是什么病前兆
- 国企|“理想男友”职业排名公布,国企职员意外垫底,前三甲门槛都很高
- 联想|联想ZUI手机/平板无法联网激活 官方回应:已修复
- 西装|简单聊一聊,夏天想要穿衣显瘦,还得管好自己
- 发型|换发型就像换脸,前后对比大变样,让你美到不敢想象
- 荔枝红茶的保健功效,常喝红茶有四个意想不到保健功效