zhangwentaohh 2020-01-29
快一个月没有更新博客了,最近一段时间在忙世界技能大赛网络系统系管理这个项目,没有太多的时间,我百忙之中更新一下。最近赛题中有说到集群这个,lvs这个东西(我也该学学这个了,一直停留在基础部分,是时候学一点高深的东西了),emm!废话不多说,下面我们就开始讲解一下。
我们先了解一下什么是集群:
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
作用:整合服务器资源,把多台服务器合并成一台使用,可以提高整个架构的抗压能力
1.集群的种类:
集群系统主要分为
负载均衡(Load Balance)集群,简称LB集群
高可用(High Availability)集群,简称 HA 集群
高性能计算(High Perfermance Computing)集群,简称 HPC 集群。主要用于一些科学运算。
2.LB实现手段
硬件的实现:– F5 负载均衡器
软件的实现:– LVS(4层,传输层) – Nginx(7层,应用层)
emm,为什么是F5呢不是lvs呢,可能是老板没钱吧毕竟这些软件是免费开源的,硬件F5太贵了老板买不起(我说的太真实了)
3.LVS(4层)模式
LVS/NAT、LVS/DR、LVS/TUN
4.LVS负载均衡的三种包转发方式
LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结构
5.看看lvs的调度模式
1 | rr轮询:平均分配,你一个、我一个。适用于同一批次进场的设备硬件配置相同 |
2 | wrr基于权重轮询:谁处理的能力强,谁的权重就高。服务器硬件配置有差距时用WRR比较好(能者多劳) |
3 | lc最少连接:两台RS连接数量少的,新的请求就给谁去处理,如果两条连接数量相同随机选择一个 |
4 | wlc基于权重的最少连接:只要涉及权重就考虑到你服务器硬件性能,两台服务器性能高的权重值设置设置高一些,性能低的设置低一些。如果按照最少连接的算法两台服务器连接数都一样,那么新来的请求将会给性能好的服务器处理 |
5 | lblc基于局部的最少连接:一般用在缓存服务器上cdn网络加速的时候常用,可以提高缓存并用 |
6 | sh源地址散列:根据访问的来源进行运算。保证同一个源过去的时候时同一台服务器应答 |
7 | dh目标地址散列:根据访问的目的地址进行运算。根据目的ip进行运算,取决于dns解析 |
8 | sed最短预期延迟法 |
9 | nq永不排队法 |
(太多了我也看不懂,其实重要的就前俩个,其他的调度模式了解一下就可以了)
前言:在涉及到对外项目,经手许多小中型网站的架构,F5、LVS及Nginx都比较多,我想一种比较通俗易懂的语气跟大家说明下何谓负载均衡,何谓Linux集群,帮助大家走出这个误区,真正意义上来理解它们。