四、四层负载实战篇( HAVIP+Keepalived 搭建高可用集群)
负载均衡器
作用:高可用,性能,安全
负载分类
目前分为软负载和硬负载:
软负载:四层负载LVS,七层负载:Nginx、HAProxy等
硬负载:F5、Array等
性能:硬负载(百万级)>四层负载(几十万级)>七层负载(几万级)
从成本:硬负载>四层负载>七层负载;硬件负载目前市面上还是很贵的,多的几百万少的几十万不等,而四层负载,以腾讯云为例是需要额外购买内网负载均衡的,所以成本会比七层高;
本文主要是介绍博主以2种4层负载均衡的方式来介绍,落地到实际的场景中;我们先来了解lvs的概念
工作模式
NAT(Network Address Translation)-网络地址转换模式
1.nat模式,是在入站的时候更改目的地址目的端口,出站时在调度器更改源地址源端口,
2.nat他在局域网是私网地址,必须要经过调度器

TUN-隧道模式
1.tun是隧道模式,是通过ipip隧道实现的,数据包返回的时候不经过调度器
2.原理是不改写ip,而是增加一个ip头

DR(Direct Routing)-直接路由模式
1.dr是单臂路由模式,入站经过dr,出站不经过dr
2.dr模式实现原理,不改变源ip和目的ip,只改变目的mac地址

网络层处理

工作模式对比

常用的调度算法:

场景一:使用keepalive+lvs
配置和使用可参考该博主https://www.cnblogs.com/skychen1218/p/13327965.html
补充:1.在配置过程中我们需要了解一下几个命令
cat /var/log/messages #查看日志,看keepalive配置不成功的日志 >/var/log/messages #清理日志 ps -ef|grep keepalive #配置完成可执行该命令查看keepalive是否成功配置运行 modprobe ip_vs #把ipvs加入内核 lsod|grep ip_vs #检查内核是否有ipvs ifconfig eth0:0 172.16.1.12/24 up #配置LVS虚拟ip ,简单写法 route add -host 172.16.1.12 dev eth0 #添加主机路由,可不加 ip addr show #检查 vip 是否出现主设备网卡上
上面配置完后,基本是已经完成了;
场景二:使用云服务器配置
主备方案
1.我们在生产环境中基本都是使用云服务器的,所以上面场景1的配置基本很少用,而且服务商基本会划分很多收费项,下面我就以腾讯云为例
HAVIP+Keepalived 搭建高可用主备集群,注意以下配置只有主备切换功能,不可负载的,并且lvs是腾讯配置好的,所以我们并不需要配置lvs
配置安装及说明:https://cloud.tencent.com/document/product/215/20186;此配置就是主备配置方案,我在某公司上使用该方案可行

负载均衡:
我们上面配置主备方案后,我们下面就来讲如何使用腾讯云进行内网的四层负载均衡,只需要进入官网,进行傻瓜式的配置,完全省去配置中出现各种问题的烦恼


总结:
本文主要是介绍实战篇的负载均衡使用,其实四层负载还有很多例如:Nginx四层负载也可七层负载;还有Haproxy+keepalive等,在目前大多数企业选择云服务器的时候,就云服务器供应商就已经为我们提供很多方便、快捷、省钱的方式方法,程序员不用更多的关注运维配置上的问题,再分享一下之前面试的情况,面试官:我服务器在香港,如何让美国的客户访问不慢?其实类似这种问题我们只需要关注下服务器的域名智能解析产品就好了,怎么说呢,其实可以理解为dns转发,根据客户的物理地址,转发到就近服务器;那么这是我们只需要做的是数据库和文件的同步了

浙公网安备 33010602011771号