应用服务

发布时间 2023-07-26 18:06:41作者: ChAnAn

tcpdum和wireshark使用

tcpdump命令

[root@node01 ~]# tcpdump --help
tcpdump version 4.9.2
libpcap version 1.5.3
OpenSSL 1.0.2k-fips  26 Jan 2017
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
                [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
                [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
                [ -Q|-P in|out|inout ]
                [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
                [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
                [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
                [ -Z user ] [ expression ]

这里面大概可以分成几类来看:

类型的关键字

host:指明一台主机。如:host 10.1.110.110
net:指明一个网络地址,如:net 10.1.0.0
port:指明端口号:如:port 8090

确定方向的关键字

src:ip包的源地址,如:src 10.1.110.110
dst:ip包的目标地址。如:dst 10.1.110.110

协议的关键字(缺省是所有协议的信息包)

ip、arp、rarp、tcp、udp、http

其它关键字

gateway、broadcast、less、greater。

常用表达式

! or not
&& or and
|| or or

参数详解

A:以ascii编码打印每个报文(不包括链路的头)。
a:将网络地址和广播地址转变成名字。
c:抓取指定数目的包。 
C:用于判断用 -w 选项将报文写入的文件的大小是否超过这个值,如果超过了就新建文件(文件名后缀是1、2、3依次增加);
d:将匹配信息包的代码以人们能够理解的汇编格式给出;
dd:将匹配信息包的代码以c语言程序段的格式给出;
ddd:将匹配信息包的代码以十进制的形式给出;
D:列出当前主机的所有网卡编号和名称,可以用于选项 -i;
e:在输出行打印出数据链路层的头部信息;
f:将外部的Internet地址以数字的形式打印出来;
F<表达文件>:从指定的文件中读取表达式,忽略其它的表达式;
i<网络界面>:监听主机的该网卡上的数据流,如果没有指定,就会使用最小网卡编号的网卡(在选项-D可知道,但是不包括环路接口),linux 2.2 内核及之后的版本支持 any 网卡,用于指代任意网卡;
l:如果没有使用 -w 选项,就可以将报文打印到 标准输出终端(此时这是默认);
n:显示ip,而不是主机名;
nn:显示port,而不是服务名;
N:不列出域名;
O:不将数据包编码最佳化;
p:不让网络界面进入混杂模式;
q:快速输出,仅列出少数的传输协议信息;
r<数据包文件>:从指定的文件中读取包(这些包一般通过-w选项产生);
s<数据包大小>:指定抓包显示一行的宽度,-s0表示可按包长显示完整的包,经常和-A一起用,默认截取长度为60个字节,但一般ethernet MTU都是1500字节。所以,要抓取大于60字节的包时,使用默认参数就会导致包数据丢失;
S:用绝对而非相对数值列出TCP关联数;
t:在输出的每一行不打印时间戳;
tt:在输出的每一行显示未经格式化的时间戳记;
T<数据包类型>:将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议);
v:输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
vv:输出详细的报文信息;
x/-xx/-X/-XX:以十六进制显示包内容,几个选项只有细微的差别,详见man手册;
w<数据包文件>:直接将包写入文件中,并不分析和打印出来;
expression:用于筛选的逻辑表达式;

常用场景

监视指定网络接口的数据包
[root@node01 ~]# tcpdump -i 
br-33e8595a6d6c  br-d2007b2d7a47  docker0          eth0             lo               veth3015921      veth618a165      veth9a3bb4d      vethcdee52d      virbr0

如果不指定网卡,默认tcpdump只会监视第一个网络接口,如eth0

监视指定主机的数据包,例如所有进入或离开node01的数据包
[root@node01 ~]# tcpdump host node01

打印helios<-->hot或helios<-->ace之间通信的数据包
[root@node01 ~]# tcpdump host helios and \( hot or ace \)

打印ace与任何其他主机之间通信的IP数据包,但不包括与helios之间的数据包
[root@node01 ~]# tcpdump ip host ace and not helios

截获主机hostname发送的所有数据
[root@node01 ~]# tcpdump src host hostname

监视所有发送到主机hostname的数据包
[root@node01 ~]# tcpdump dst host hostname

监视指定主机和端口的数据包
[root@node01 ~]# tcpdump tcp port 22 and host hostname

对本机的udp 123端口进行监视(123为ntp的服务端口)
[root@node01 ~]# tcpdump udp port 123

监视指定网络的数据包,如本机与192.168网段通信的数据包,"-c 10"表示只抓10个包
[root@node01 ~]# tcpdump -c 10 net 192.168

打印所有通过网关snup的ftp数据包(注意,表达式被单引号括起来了,这可以防止shell对其中的括号进行错误解析)
[root@node01 ~]# tcpdump gateway snup and (port ftp or ftp-data)'

抓取ping包
[root@node01 ~]# tcpdump -c 5 -nn -i eth0 icmp 
如果明确要抓取主机为192.168.100.70对本机的ping,则使用and操作符。
[root@node01 ~]# tcpdump -c 5 -nn -i eth0 icmp and src 192.168.100.62

抓取到本机22端口包
[root@node01 ~]# tcpdump -c 10 -nn -i eth0 tcp dst port 22  

wireshark介绍

wireshark的官方下载

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。

wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。
使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

Wireshark不能做的

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

Wireshark VS Fiddler

Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。
wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容
总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark
同类的其他工具

微软的network monitor 、sniffer

浏览器开发者工具

学习要求
•熟练掌握使用块Network模
开发者工具(F12)

image

chrome开发者工具最常用的四个功能模块:
Elements:主要用来查看前面界面的html的Dom结构,和修改css的样式。css可以即时修改,即使显示。大大方便了开发者调试页面,这真是十分友好的~
console:这个除了查看错误信息、打印调试信息(console.log())、写一些测试脚本以外,还可以当作Javascript API查看用。例如我想查看console都有哪些方法和属性,我可以直接在Console中输入"console"并执行~
Sources:主要用来调试js和查看源代码
Network:重头戏来了~

Network详细介绍

image

那我就按照从左到右的顺序来写啦~
• 记录按钮 处于打开状态时会在此面板进行网络连接的信息记录,关闭后则不会记录。
• 清除按钮 清除当前的网络连接记录信息。(点击一下就能清空)
• 捕获截屏 记录页面加载过程中一些时间点的页面渲染情况,截图根据可视窗口截取,如下图所示。
image

• 过滤器 能够自定义筛选条件,找到自己想要资源信息,如下图所示。
image

也可以是一些指定条件
指定条件有哪些?
domain:资源所在的域,即url中的域名部分。如 domain:api.github.com
has-response-header:资源是否存在响应头,无论其值是什么。如 has-response-header:Access-Control-Allow-Origin
is:当前时间点在执行的请求。当前可用值:running
larger-than:显示大于指定值大小规格的资源。单位是字节(B),但是K(kB)和M(MB)也是可以的~ 如larger-than:150K
method:使用何种HTTP请求方式。如 GET
mime-type:也写作content-type,是资源类型的标识符。如 text/html
scheme:协议规定。如 HTTPS
set-cookie-name:服务器设置的cookies名称
set-cookie-value:服务器设置的cookies的值
set-cookie-domain:服务器设置的cookies的域
status-code:HTTP响应头的状态码
• 显示详细信息
image

image

• 显示时间流
image

能够根据时间,查看对应时间下 浏览器请求的资源信息
• 是否保留日志
当选择保留日志,重新加载url当前界面时,之前请求显示的资源信息,会保留下来,不会清空的哟~
• 是否进行缓存
当打开开发者工具时生效,打开这个开关,则页面资源不会存入缓存,可以从Status栏的状态码看文件请求状态。
• 设置模拟限速,如下图所示。
image

设置限速可以模拟处于各种网络环境下的不同用户访问本页面的情况。

Network主题内容介绍

image

下列介绍中,前者为名词解释,后者为举例
• Name/Pat:资源名称以及URL路径 (main.css)
• Method:Http请求方法 (GET或者POST)
• status/Text:Http状态码/文字解释 (200,ok)
• Type :请求资源的MIME类型,MIME是Multipurpose Internet Mail Extensions (html,css,js等)
• Initiator:解释请求是怎么发起的,有四种可能的值
• 1.Parser :请求是由页面的html解析时发送
• 2.Redirect:请求是由页面重定向发送
• 3.script :请求是由script脚本处理发送
• 4.other :请求是由其他过程发送的,比如页面里的Link链接点击
• size/content:size是响应头部和响应体结合的大小,content是请求解码后的大小
5 请求文件具体说明
点击某个具体请求后的界面,如下图所示:
image

一共分为四个模块:
• Headers
image

Header面板列出资源的请求url、HTTP方法、响应状态码、请求头和响应头及它们各自的值、请求参数等等
• Preview:预览面板,用于资源的预览。
image

• Response:响应信息面板包含资源还未进行格式处理的内容
image

• Timing:资源请求的详细信息花费时间
image

6 复制请求、响应
对某请求右键,出现页面如下图所示。
image

• Copy Request Headers:复制HTTP请求头到系统剪贴板
• Copy Response Headers:复制HTTP响应头到系统剪贴板
• Copy Response:复制HTTP响应内容到系统剪贴板
• Copy as
cURL:将网络请求作为一个curl的命令字符复制到系统剪贴板(curl是一种开源的命令行工具和库,用于配合url语法进行数据传输)
• Copy All as HAR:将网络请求记录信息以HAR格式复制到系统剪贴板(what is HAR file)
• Save as HAR with Content:将资源的所有的网络信息保存到HAR文件中(.har文件)
• Clear Browser Cache:清除浏览器缓存
• Clear Browser Cookies:清除浏览器cookies
• Open in Sources Panel:当前选中资源在Sources面板打开
• Open Link in New Tab:在新tab打开资源链接
• Copy Link Address:复制资源url到系统剪贴板

负载均衡

在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战。这时候我们就会想到 通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www. taobao.com。那么当用户在浏览器输入 www.taobao.com 的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。

当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等。 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设 备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户端的请求转发给它处理,实现客户端到真实服务端的透明转发。最近几年 很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源、存储资源,由某台管理服务器封装成一个服务对外提供,客户端不需要关心真 正提供服务的是哪台机器,在它看来,就好像它面对的是一台拥有近乎无限能力的服务器,而本质上,真正提供服务的是后端的集群。
软件负载解决的两个核心问题是:选谁、转发,其中最著名的是LVS(Linux Virtual Server)
image

一个典型的互联网应用的拓扑结构是这样的:
image

负载均衡分类

现在我们知道,负载均衡就是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁碟驱动器或其它资源中分配负载,以达到最佳 化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。那么,这种计算机技术的实现方式有多种。大致可以分为以下几种,其中最常用的是 四层和七层负载均衡:
二层负载均衡
负载均衡服务器对外依然提供一个VIP(虚IP),集群中不同的机器采用相同IP地址,但机器的MAC地址不一样。当负载均衡服务器接受到请求之后,通过改 写报文的目标MAC地址的方式将请求转发到目标机器实现负载均衡。
三层负载均衡
和二层负载均衡类似,负载均衡服务器对外依然提供一个VIP(虚IP),但集群中不同的机器采用不同的IP地址。当负载均衡服务器接受到请求之后,根据不 同的负载均衡算法,通过IP将请求转发至不同的真实服务器。
四层负载均衡
四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四 层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
七层负载均衡
七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http、radius、DNS等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多 有意义的内容。比如同一个Web服务器的负载均衡,除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。
image

对于一般的应用来说,有了Nginx就够了。Nginx可以用于七层负载均衡。但是对于一些大的网站,一般会采用DNS+四层负载+七层负载的方式进行多层次 负载均衡。
image

常用工具

硬件负载均衡性能优越,功能全面,但价格昂贵,一般适合初期或者土豪级公司长期使用。因此软件负载均衡在互联网领域大量使用。常用的软件负载均衡 软件有Nginx、LVS、HaProxy等。
Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。

LVS

LVS(Linux Virtual Server),也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目。使用LVS技术要达到的目标是:通过LVS提供的负载均 衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。 LVS主 要用来做四层负载均衡。

LVS架构

LVS架设的服务器集群系统由三个部分组成:最前端的负载均衡层(Loader Balancer),中间的服务器群组层,用Server Array表示,最底层的数据共享存 储层,用Shared Storage表示。在用户看来所有的应用都是透明的,用户只是在使用一个虚拟服务器提供的高性能服务。
image

LVS的各个层次的详细介绍:

Load Balancer层:位于整个集群系统的最前端,有一台或者多台负载调度器(Director Server)组成,LVS模块就安装在Director Server上,而Director的 主要作用类似于一个路由器,它含有完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)上。 同时,在Director Server上还要安装对Real Server服务的监控模块Ldirectord,此模块用于监测各个Real Server服务的健康状况。在Real Server不可用时 把它从LVS路由表中剔除,恢复时重新加入。 Server Array层:由一组实际运行应用服务的机器组成,Real Server可以是Web服务器、Mail服务器、FTP服 务器、DNS服务器、视频服务器中的一个或者多个,每个Real Server之间通过高速的LAN或分布在各地的WAN相连接。在实际的应用中,Director Server 也可以同时兼任Real Server的角色。 Shared Storage层:是为所有Real Server提供共享存储空间和内容一致性的存储区域,在物理上一般由磁盘阵列设备 组成,为了提供内容的一致性,一般可以通过NFS网络文件系统共享数 据,但NFS在繁忙的业务系统中,性能并不是很好,此时可以采用集群文件系统,例 如Red hat的GFS文件系统、Oracle提供的OCFS2文件系统等。 从整个LVS结构可以看出,Director Server是整个LVS的核心,目前用于Director Server的 操作系统只能是Linux和FreeBSD,Linux2.6内核不用任何设置就可以支持LVS功能,而FreeBSD作为 Director Server的应用还不是很多,性能也不是很好。 对于Real Server,几乎可以是所有的系统平台,Linux、windows、Solaris、AIX、BSD系列都能很好地支持。

Nginx

Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP、HTTPS,、SMTP、POP3、IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。
Nginx主要用来做七层负载均衡。 并发性能:官方支持每秒5万并发,实际国内一般到每秒2万并发,有优化到每秒10万并发的。具体性能看应用场景。 特点:
模块化设计:良好的扩展性,可以通过模块方式进行功能扩展。 高可靠性:主控进程和worker是同步实现的,一个worker出现问题,会立刻启动另一个worker。 内存消耗低:一万个长连接(keep-alive),仅消耗2.5MB内存。 支持热部署:不用停止服务器,实现更新配置文件,更换日志文件、更新服务器程序版本。 并发能力强:官方数据每秒支持5万并发;
功能丰富:优秀的反向代理功能和灵活的负载均衡策略

Nginx的基本工作模式

image

一个master进程,生成一个或者多个worker进程。但这里master是使用root身份启动的,因为nginx要工作在80端口。而只有管理员才有权限启动小于低于 1023的端口。master主要是负责的作用只是启动worker,加载配置文件,负责系统的平滑升级。其它的工作是交给worker。那当worker被启动之后,也只 是负责一些web最简单的工作,而其它的工作都是由worker中调用的模块来实现的。
模块之间是以流水线的方式实现功能的。流水线,指的是一个用户请求,由多个模块组合各自的功能依次实现完成的。比如:第一个模块只负责分析请求首
部,第二个模块只负责查找数据,第三个模块只负责压缩数据,依次完成各自工作。来实现整个工作的完成。
它们是如何实现热部署的呢?是这样的,我们前面说master不负责具体的工作,而是调用worker工作,它只是负责读取配置文件,因此当一个模块修改或者 配置文件发生变化,是由master进行读取,因此此时不会影响到worker工作。在master进行读取配置文件之后,不会立即把修改的配置文件告知worker。 而是让被修改的worker继续使用老的配置文件工作,当worker工作完毕之后,直接当掉这个子进程,更换新的子进程,使用新的规则。

HAProxy

HAProxy也是使用较多的一款负载均衡软件。HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,是免费、快速并且可靠的 一种解决方案。特别适用于那些负载特大的web站点。运行模式使得它可以很简单安全的整合到当前的架构中,同时可以保护你的web服务器不被暴露到网 络上。
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
Haproxy主要用来做七层负载均衡。

常见负载均衡算法

上面介绍负载均衡技术的时候提到过,负载均衡服务器在决定将请求转发到具体哪台真实服务器时,是通过负载均衡算法来实现的。负载均衡算法可以分为
两类:静态负载均衡算法和动态负载均衡算法。
静态负载均衡算法包括:轮询、比率、优先权。
动态负载均衡算法包括:最少连接数、最快响应速度、观察方法、预测法、动态性能分配、动态服务器补充、服务质量、服务类型、规则模式。
轮询(Round Robin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从顺序循环队列中拿 出,不参加下一次的轮询,直到其恢复正常。
以轮询的方式依次请求调度不同的服务器;实现时,一般为服务器带上权重;这样有两个好处:
针对服务器的性能差异可分配不同的负载; 当需要将某个结点剔除时,只需要将其权重设置为0即可;
优点:实现简单、高效;易水平扩展
缺点:请求到目的结点的不确定,造成其无法适用于有写的场景(缓存,数据库写)
应用场景:数据库或应用服务层中只有读的场景

随机方式:请求随机分布到各个结点;在数据足够大的场景能达到一个均衡分布;
优点:实现简单、易水平扩展
缺点:同Round Robin,无法用于有写的场景 应用场景:数据库负载均衡,也是只有读的场景

哈希方式:根据key来计算需要落在的结点上,可以保证一个同一个键一定落在相同的服务器上;
优点:相同key一定落在同一个结点上,这样就可用于有写有读的缓存场景 缺点:在某个结点故障后,会导致哈希键重新分布,造成命中率大幅度下降
解决:一致性哈希 or 使用keepalived保证任何一个结点的高可用性,故障后会有其它结点顶上来 应用场景:缓存,有读有写

一致性哈希:在服务器一个结点出现故障时,受影响的只有这个结点上的key,最大程度的保证命中率;如twemproxy中的ketama方案;生产实现中还可以 规划指定子key哈希,从而保证局部相似特征的键能分布在同一个服务器上;
优点:结点故障后命中率下降有限
应用场景:缓存

根据键的范围来负载:根据键的范围来负载,前1亿个键都存放到第一个服务器,1~2亿在第二个结点。
优点:水平扩展容易,存储不够用时,加服务器存放后续新增数据
缺点:负载不均;数据库的分布不均衡;(数据有冷热区分,一般最近注册的用户更加活跃,这样造成后续的服务器非常繁忙,而前期的结点空闲很多)
适用场景:数据库分片负载均衡

根据键对服务器结点数取模来负载:根据键对服务器结点数取模来负载;比如有4台服务器,key取模为0的落在第一个结点,1落在第二个结点上。
优点:数据冷热分布均衡,数据库结点负载均衡分布;
缺点:水平扩展较难;
适用场景:数据库分片负载均衡 纯动态结点负载均衡:

根据CPU、IO、网络的处理能力来决策接下来的请求如何调度。
优点:充分利用服务器的资源,保证个结点上负载处理均衡
缺点:实现起来复杂,真实使用较少

不用主动负载均衡:使用消息队列转为异步模型,将负载均衡的问题消灭;负载均衡是一种推模型,一直向你发数据,那么将所有的用户请求发到消息队列 中,所有的下游结点谁空闲,谁上来取数据处理;转为拉模型之后,消除了对下行结点负载的问题。
优点:通过消息队列的缓冲,保护后端系统,请求剧增时不会冲垮后端服务器;水平扩展容易,加入新结点后,直接取queue即可; 缺点:不具有实时性;
应用场景:不需要实时返回的场景; 比如,12036下订单后,立刻返回提示信息:您的订单进去排队了...等处理完毕后,再异步通知;

比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第2到第7 层的故障,BIG- IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。

优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG-IP 用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分 配用户的请求);当最高优先级中所有服务器出现故障,BIG-IP 才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。
最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第2到第7 层的故障,BIG-IP 就把其从服 务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次 的用户请求的分配,直到其恢复正常。
观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP就把 其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
预测模式(Predictive):BIG-IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应 用户的请求。(被BIG-IP 进行检测)
动态性能分配(Dynamic Ratio-APM):BIG-IP 收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。 动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。 服务质量(QoS): 按不同的优先级对数据流进行分配。
服务类型(ToS): 按不同的服务类型(在Type of Field中标识)负载均衡对数据流进行分配。 规则模式:针对不同的数据流设置导向规则,用户可自行。