应用交付和F5是什么意思?
提到应用交付就不能不提F5,到底应用交付和F5是什么意思,二者有什么关联呢?
所谓“应用交付”,实际上就是指应用交付网络(Application Delivery Networking,简称ADN),它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。从定义中可以看出应用交付的宗旨是保证企业关键业务的可靠性、可用性与安全性。应用交付应是多种技术的殊途同归,比如广域网加速、负载均衡、Web应用防火墙…针对不同的应用需求有不同的产品依托和侧重。
随着市场认知度的逐渐增强,应用交付(ADC)引起了传统的网络技术厂商的极大关注。ADC是传统的网络负载均衡的升级、扩展,它是一种综合的交付平台设备,其综合了负载平衡、TCP优化管理、链接管理、SSL ***、压缩优化、智能网络地址转换、高级路由、智能端口镜像等各种技术手段的综合平台。目前企业越来越依赖先进的应用交付网络解决方案,以确保在当今日新月异的业务环境中保持充分的 IT 灵活性,通过在可扩充的 ADC 平台上提供可调整的安全性、高可用性和优化性。中国应用交付市场的主要客户群分布在金融、电信、互联网等行业以及大中型IT企业,这些客户多依赖先进的IT技术来支撑业务运营和各种客户服务。F5:
是应用交付网络(ADN)的全球领导者,是应用交付网络(ADN)领域的全球领先厂商,致力于帮助全球大型的企业和服务提供商实现虚拟化、云计算和“随需应变”的IT的业务价值。F5的解决方案有助于整合不同的技术,以便更好地控制基础架构,提高应用交付和数据管理能力,并使用户能够通过企业桌面系统和智能设备无缝、安全并更快速地接入应用。F5的解决方案包括:应用交付网络(ADN)、服务器负载均衡、链路负载均衡、多站点负载均衡、WEB加速及应用安全、流量管理、灾难备份、广域网传输优化、SSL ***、ISP互访互通、远程安全接入/访问、SSL加解密、文件存储虚拟化、多链路接入、远程安全访问……
这个要看部署模式了。
正常情况下是不用在服务器上面放证书的。
整个传输的流程是这样的,客户端到F5的数据是加密的HTTPS,F5解密完成后变成明文的HTTP数据包传输给服务器,这是最普遍的做法。
如果你希望F5与后台服务器之间的传输也使用SSL加密,那就需要在服务器上面放证书,但是,不推荐这么做。本来SSL卸载放到其F5设备上面就是要减轻服务器的压力,如果是安全考虑的话,其实也没必要,而且F5与服务器之间是内网传输,明文也没关系,除非有特殊的要求。
还有一种情况,是让F5直接转发的,有服务器自身做SSL卸载,这种传输也是全程加密的,明文只有服务器才能看到,这种情况证书是在服务器上的。
负载均衡是一种技术,指通过某种算法实现负载分担的方法。通俗的讲就是统一分配请求的设备,负载均衡会统一接收全部请求,然后按照设定好的算法将这些请求分配给这个负载均衡组中的所有成员,以此来实现请求(负载)的均衡分配。
F5 BIG-IP LTM(本地流量管理器)是一台对流量和内容进行管理分配的设备。它提供12种灵活的算法将数据流有效地转发到它所连接的服务器群。而面对用户,只是一台虚拟服务器。用户此时只需访问定义于BIG-IP LTM上的一台服务器,即虚拟服务器(Virtual Server)。但他们的数据流却被BIG-IP灵活地均衡到所有的物理服务器。BIG-IP LTM可以通过多种负载均衡算法对流量进行分配,这些算法包括:
轮询(RoundRobin)
比率(Ratio)
优先权(Priority)
最少的连接方式(LeastConnection)
最快模式(Fastest)
观察模式(Observed)
预测模式(Predictive)
动态性能分配(DynamicRatio-APM)
动态服务器补充(DynamicServerAct)
服务质量(QoS)
服务类型(ToS)
规则模式 型号 吞吐量 配置 带机量 主要功能 F5Networks BIG-IP 1600 1Gbps 处理器:双CPU
内存:4GB
硬盘驱动器:160GB 4 降低服务器负载方面
内容转换
OneConnect
高速缓存
SSL加速和卸载
应用优化方面
智能应用交换
智能压缩
灵活的第7层速率整形
TCPExpress
iSessions
WAN优化模块(插件模块)
安全的应用方面
资源隐藏和内容安全
定制的应用攻击过滤
基础防火墙功能—数据包过滤
隔离协议攻击
网络攻击防护
有选择的加密
Cookie加密
高级SSL加密标准
先进的客户端验证模块(插件模块)
垃圾邮件过滤模块(插件模块)
协议安全模块(插件模块) F5Networks BIG-IP 3600 2Gbps 处理器:双CPU
内存:4GB
硬盘驱动器:160GB 8 F5Networks BIG-IP 3900 4Gbps 处理器:四核CPU
内存:8GB
硬盘驱动器:300GB 8 F5Networks BIG-IP 6900 6Gbps 处理器:双CPU,双核(4个处理器)
内存:8GB
硬盘驱动器:320GB 2 16 F5Networks BIG-IP 8900 12Gbps 处理器:双CPU,四核(8个处理器)
内存:16GB
硬盘驱动器:320GB 2 16
f5对ping的转发原理有。
1、负载均衡设备的基本处理单位是TCP连接。
2、F5支持全代理模式,同时也可以工作在四层转发模式。
3、F5支持的负载均衡算法分类两大类:静态算法和动态算法,总共将近20种。
4、源地址会话保持和cookie会话保持。
5、负载均衡是对后台服务器的流量均衡分发,分发的前提是要求服务器能够正常提供服务,健康检查就是判读服务器是否能够提供服务的方法。
6、为了更好的控制流量、迁移流量,F5对后台服务器节点操作,形成三种状态:Enabled、Disabled、ForcedOffline。
阅读本文前,需熟悉OSI七层参考模型。
常见的负载均衡设备,有F5,Haproxy,lvs, nginx等。
F5是商用硬件负载均衡,性能很好,但是价格昂贵,除了负载均衡,还有应用交换、会话交换、状态监控等众多功能。
F5一般做四层负载均衡,但也支持七层负载均衡。
Haproxy(以下简称ha)是软件负载均衡,开源,一般做七层负载均衡,但也支持四层负载均衡。
Linux Virtual Server(以下简称lvs)是软件负载均衡,开源,二层或四层负载均衡,已集成到linux内核,自身有完备的热备方案(keepalived+lvs),稳定性极强。
nginx也是软件负载均衡,开源,通过反向代理实现负载均衡,是七层负载均衡,性能不如上面的几个。
tips1
有些公司,测试环境用ha/lvs/nginx,生产环境用F5。
tips2
nginx做web服务器时,一般做静态资源服务器和php的web服务器,所以很多公司,会采用F5+nginx或者ha+nginx的架构
tips3
微服务中的ribbon属于客户端负载均衡,上面的几种都是服务端负载均衡
二层负载均衡
在数据链路层通过修改mac地址实现,如lvs的DR模式(直接路由模式)
三层负载均衡
在网络层通过DNAT协议修改目标地址实现
四层负载均衡
用ip+端口实现请求转发
备注:tcp报文里并没有ip,但是四层负载均衡可以用ip+端口,是因为server可以拿到ip
七层负载均衡
通过重新发起http请求实现,即client把请求发给lb,lb把请求代发给server,再把server的响应返回给client,因此七层负载均衡也经常被称为代理,七层负载均衡设备也被称为代理设备。
七层负载均衡常用于内网与外网的通信,比如内网无法直接访问外网,需要通过代理设备代发http请求,这种情况下,代理设备需要配置双网卡,以同时与内外网络通信。
由于需要重发http请求,七层负载均衡性能较差,但是更智能和安全,因为应用层可以获取甚至修改请求的真实内容(即应用数据),比如cookie、url等,可以做一些智能的操作,比如根据cookie/url转发请求,也可以做一些安全操作,比如过滤特定报文、防止SYN Flood攻击等。
使用七层负载均衡时,服务的性能受限于代理设备的网卡带宽。
常见的负载均衡策略,有轮询、加权轮询、ip_hash、cookie、url_hash,根据服务器响应时间转发、根据最少连接转发等等。
备注:nginx可以安装第三方插件,使用第三方实现的策略
轮询:按服务器列表顺序转发请求,轮询是nginx默认的策略,本策略适合服务器配置相当、请求无状态(即不依赖session)的场景
加权轮询:如果不同服务器配置不同,可以为配置高的服务器增加权重
ip_hash:根据ip哈希结果转发,可以实现同一用户持续请求同一服务器(即会话保持),适合有状态(即依赖session)的场景,对png、jpg、js、css等静态资源的请求,不适合使用本策略
cookie:根据特定cookie转发请求,一般也是用于实现会话保持,比如为服务器A、B分别增加service-flag=a、service-flag=b的cookie,后续请求根据cookie转发
可以参考 haproxy实现会话保持
url_hash:根据url哈希结果转发,同一个接口始终请求同一台服务器,一般配合缓存使用,缓存接口返回结果
根据服务器响应时间转发:优先转发到响应时间较快的服务器
根据最少连接转发:优先转发到连接数较少的服务器
F5有一些特有的负载均衡策略:利用从应用程序和服务器收集到的各项性能指标,分析并转发
负载均衡有两个步骤:
1根据什么算法选择真实服务端,即负载均衡策略,如轮询、加权轮询、ip_hash、cookie、url_hash等;
2把请求转发到真实服务器,转发方式有二层到七层负载均衡
keepalived软件一开始是专为lvs设计的,后来加入了可以实现高可用的VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)功能,因此,keepalived还可以作为nginx、haproxy、mysql等服务的高可用解决方案。
以nginx为例,为了防止nginx本身由于宕机等原因导致网站不可用,一般会搭两套nginx反向代理,用keepalived提供一个VIP。
一般情况下,VIP只在nginx主节点上工作,如果nginx主节点不可用了,VIP会自动漂移到从节点,自动漂移的原理即VRRP协议。
VIP漂移到从节点后,如果主节点恢复正常了,VIP是否漂移回主节点,取决于当前模式是抢占模式还是非抢占模式。
下图是一张简单的架构图,解释如下:
以上观点纯属个人意见,如果错误,欢迎指出,有些地方写的很简单,是因为我也不懂~
一、前言
在互联网雄起的时代,随着各个网络请求量的不断增大,利用负载分化请求量,从而达到优化硬件负荷量的目的,一般负载分为软件负载和硬件负载,比如软件中使用nginx等工具实现负载均衡,而F5负载均衡器就是硬件网络性能优化设备。
二、何为负载均衡器
那么什么是F5负载均衡器呢,通俗的讲就是将客户端请求量通过F5负载到各个服务器,增加吞吐量,从而降低服务器的压力,他不同于交换机、路由器这些网络基础设备,而是建立在现有网络结构上用来增加网络带宽和吞吐量的的硬件设备
三、工作原理
1、客户发出服务请求到VIP
2、BIGIP接收到请求,将数据包中目的IP地址改为选中的后台服务器IP地址,然后将数据包发出到后台选定的服务器
3、后台服务器收到后,将应答包按照其路由发回到BIGIP
4、BIGIP收到应答包后将其中的源地址改回成VIP的地址,发回客户端,由此就完成了一个标准的服务器负载平衡的流程。
四、负载均衡涉及到算法
轮询算法:按照顺序将每个请求分发到每个服务器,相当于ngixn负载的轮训算法一个道理,当其中某个服务器发生第二到第7层的故障,BIGIP就把其从顺序循环队列中拿出,不参与下一次的轮训。
比率:指的是给每个服务器分配一个加权值,类似于权重,轮训会根据和这个权重去访问具体要到哪台服务器。
优先权:给所有服务器分组,BIGIP用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIGIP才将请求送给次优先级的服务器组。
最快模式:传递连接给那些响应最快的服务器。当发生异常故障时,BIGIP就会将其拿出来作为当前相应服务器,此时就不参与其他用户的请求轮训分配。
观察模式:以连接数和相应时间为准,当放生故障时BIGIP会将其拿出来作为请求的相应服务器,并且也不参与其他用户请求,直至恢复正常为止。
预测模式:BIGIP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。
动态性能分配:BIGIP收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。
动态服务器补充:当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。
服务质量:按不同的优先级对数据流进行分配。
服务类型:按不同的服务类型(在Type of Field中标识)对数据流进行分配。
规则模式:针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIGIP利用这些规则对通过的数据流实施导向控制。
五。结尾
总之F5负载均衡器涉及到的原理内容多而杂,重点用户硬件负载方面,目前理解到此,还有很多不足之处希望一起发文讨论。
命令:full_box_reboot重启整台F5服务器
一、F5常用查询命令:
1、tmstat
功能描述:查看实时CPU状态
2、b memory
功能描述:查看实时内存状态
3、b conn [[:]] [dump [mirror]]
功能描述:如果只键入b conn,则显示所有的当前连接
b conn dump mirror
功能描述:显示从Active设备同步过来的所有connection信息
b conn [:] delete
功能描述:删除指定IP和端口的连接信息
4、b failover [show]
功能描述:显示当前设备的主备状态
5、b interface show
功能描述:显示所有的端口信息
6、b monitor show
功能描述:显示所有的monitor检查信息
7、b node show
功能描述:显示所有的Node节点信息
8、b pool show
功能描述:显示所有的pool信息
9、b self show
功能描述:显示所有的SelfIP信息
10、b version
功能描述:显示版本信息
11、b virtual show
功能描述:显示所有的Virtual Server信息
12、b vlan show
功能描述:显示所有的Vlan信息
13、bigtop
功能描述:显示所有Virtual Server和Node的连接和流量统计信息
14、date
功能描述:显示时间
15、top
功能描述:显示系统当前的CPU、内存和进程运行信息
16、ifconfig –a
功能描述:显示系统所有的ip配置信息
二、F5常用操作命令:
1、b conn [all] delete
功能描述:删除所有的当前连接
故障处理:该命令可以用来解决长连接业务导致的F5的负载不均衡的问题哦
2、b failover standby
功能描述:强制当前设备切换为备份设备
故障处理:该命令可能会导致被切侧,重新跳回主用,造成双机都为主用状态的情况
3、b maint
功能描述:将BIGIP设置为maintanence状态,此时BIGIP将维护现有的用户连接,而拒绝所有的新用户连
接。主要用于系统停机维护。
4、full_box_reboot
功能描述:重启整台F5服务器
5、halt
功能描述:进程断电
0条评论