具备必定服务器规模的互联网公司为了应对集群服务器管理问题,基本上使用F5负载均衡设备做为流量管理的入口,好比搜狐,新浪,金山等,目前在咱们测试环境用的是F5 BIG-IP LTM,生产环境用的是F5 viprion。node
F5 BIG-IP LTM ,中文说法是本地流量管理器,能够作4-7层负载均衡,4层负载均衡功能由F5专门的硬件模块负责,7层负载均衡功能由软件实现。F5负载均衡器具备负载均衡应用交换会话交换状态监控智能网络地址转换通用持续性响应错误处理IPv6网关高级路由智能端口镜像SSL加速智能HTTP压缩TCP优化第7层速率×××内容缓冲内容转换链接加速高速缓存Cookie加密选择性内容加密应用***过滤拒绝服务(DoS)***和SYN Flood保护防火墙—包过滤包消毒等功能nginx
咱们最近在作F5负载均衡设备7层路由切换到4层路由,将F5上的url irules规则下放到F5后端的nginx集群,从而充分减轻F5负载均衡的压力,充分发挥F5负载均衡的优点。7层irules规则因为是由F5硬件设备上的软件模拟实现的功能,因此在效率方面没有硬件实现的四层负载均衡的效率高。随着流量增长,七层规则会增长f5设备cpu的负载,尤为是在irules中对正则规则的使用会加重F5性能的消耗。后端
从平常管理中,咱们能够总结出F5在处理请求时的结构图:缓存
当一个用户访问www.dianping.com 的时候,首先经过DNS服务器根据咱们本身配置的name server服务器解析记录将 www.dianping.com 解析为对应的公网ip地址,好比电信线路的180.153.132.49。用户向180.153.132.49发起访问请求,请求通过网络路由,到达F5设备。服务器
F5负载均衡的 virtual servers(配置的外网IP和端口)来匹配用户请求中的外网IP和端口号,匹配后再由对应virtual server(好比名称为www.dianping.com,配置了180.153.132.49和80端口的 virtual server )根据自身的资源(irules规则)来匹配用户请求的主机和url部分,根据匹配部分相应的规则而后跳转到对应的pool资源,好比App1 Pool,F5根据pool配置的负载均衡策略将用户的请求分发给某台应用服务器,好比node:ip1。这个是7层负载均衡时规则处理方式,当后端服务器被配置为4层路由分发的时候,F5匹配用户的外网ip和端口后就会根据配置的pool将用户的请求分发到后端的nginx 负载均衡集群中,7层路由分发irules完成的工做就由nginx集群根据nginx跳转规则来完成,负载均衡策略也有nginx来肯定。网络
F5请求处理的总体结果图:virtual server(至关于nginx的server name)-----pool(应用池,集群,至关于nginx的upstream)------node(主机或反向代理服务器,至关于nginx 中upstream的server)负载均衡
snat修改对外请求的来源地址。ide
F5外联外网交换机,内连内网交换机,同事具备外网ip和内网ip,内网不一样网段会有一个内网ip做为内部应用服务器与外部通讯的网关。性能
F5的四层负载均衡与七层负载均衡测试
F5的四层负载均衡由硬件芯片处理,不消耗CPU资源,可以处理更大的访问量。在四层负载均衡模式下,真实服务器的默认网关必须指向F5的自身内网IP。四层负载均衡模式,snat设置必须为none.
F5登录后左边的导航页面,咱们使用的F5 BIG-IP LTM和 F5 viprion 设备的界面导航内容是同样的,区别是后者的一些配置语法和界面比较好看了些。
Overview:统计信息的一些预览。
Local traffic:有关内网应用设备的一些配置信息。
Network:有关网络设备的一些配置信息。
system:F5自身的一些系统设置。
当前F5信息统计图:12个VS,14个pool,33个node。
F5中vs的列表,以及vs中具体配置:
F5的monitor功能,容许F5对后端服务器进行检测,做为F5对pool中后端机器健康检测的方法。
monitor的列表,可用的健康监测方式:
建立snat的界面:name是snat的名称,translation是外网出口ip,origin是选择内网哪些ip通过此snat配置。
本地流量管理选项中,Profiles选项容许咱们配置一些http特性相关的设置。
irules操做界面:irules支持tcl语法,编写比较简单。
F5流量视图:
F5中有关pool的截图:
pool中对应某个node节点的配置信息:
F5建立内网和外网Vlan:
一、建立VLAN:beta
在“Network→VLANs”页面点击“create”按钮:
①、Name栏填写:beta(填一个英文名称)
②、Tag栏填写:10(填一个数字,做为标记)
③、Interfaces栏:将Available列的“1.1”拉到Untagged列。1.1表示F5 BIG-IP的第一块网卡。
F5自身内网和外网IP:
建立方法:
在“Network→Self IPs”页面点击“create”按钮:
①、IP Address栏填写:10.1.77.2
②、Netmask栏填写:255.255.255.0
③、VLAN栏选择:Beta (填外网Vlan名称)
④、Port Lockdown栏选择:Allow Default(默认值)
F5管理配置:
F5的性能展现图,测试环境F5的配置比较低,使用的是1G内存的设备。