首页 > 快讯 > 应用交付七种武器之HTTP内容交换

应用交付七种武器之HTTP内容交换

话说在应用交付江湖里,流传着七种武器的传说。每当网络缓慢、应用繁忙之时,江湖中就期待这七种武器再度现身以解用户体验之倒悬。


如今,正当移动终端大行其道、网络参与度空前高涨之时,HTTP压缩已趁势如长生剑般在应用优化中穿行如飞,开始尝试助力WEB轻身如燕笑傲江湖。然而,在WEB应用里,客户端日益庞大,需求日益繁杂,于是,在众英雄一致翘盼中,内容交换也如拳头般重磅出击,势如破竹、激赏眼球!


何为七层负载?


要了解拳头,须先了解拳法套路。


要了解内容交换,须先知道七层负载。


何为内容交换?何为七层负载?


客官须知,在ADC领域里,服务器负载可分为四层负载和七层负载两种。


四层负载只能根据用户访问的IP、端口来决定分发的结果。而内容交换(七层负载)关注的则是应用层的信息,应用交付设备可以识别应用层的信息去决定分发的结果,这就使得整个网络更加“智能化”,并且更加有效率。


例如,在网站的运行中,用户可以通过七层的方式,将图片类的请求通过缓存技术传输到特定的图片服务器,将对文字类的请求通过压缩技术传输到特定的文字服务器。对终端访问来说,应用交付设备可以识别终端的类型,区分访问的终端是安卓还是苹果,并转发到特定的服务器上。


由此可见,七层负载——即内容交换——粒度更细致、更贴近用户,也更灵活。


但是,正如直拳迅猛直接,劈拳诡异凶狠,长拳灵活舒展,横拳形意相容……拳头伸出方式虽有不同,但,一样地霸道凌厉化解危险于呼呼拳风之中。同样,在太一T-Force设备的HTTP内容交换里,如何以Host、URI、头域、cookie等武林绝学化解各种应用请求并最终实现负载?且听技术哥我细细道来。


一.Host方式

假定,某网站有3台服务器,同时对公网提供HTTP服务,三个服务器的公网ip分别 是:10.1.1.2、10.1.1.3、10.1.1.4,对应的域名分别为:www.a.com、www.b.com、www.c.com。如果按下图拓扑,则需要三个公网IP才能实现这三台服务器的正常访问。


那么,不妨换一种方式,以T-Force的Host方式进行七层负载,新的拓扑为下图:

用户访问其中的任意一个域名时,如www.c.com,实际上访问的都是10.1.1.2这同一个公网IP地址,通过Host的负载方式就将流量分担到对应的服务器上。这样部署,不但减少了公网IP的个数,对网络拓扑改动最小,也节约了维护成本。


二.URI方式

对于有缓存服务器的网络环境,URI不失为最优选择。因为每个缓存服务器容量有限,如果能够只分担到某些类别的数据,将大大提高缓存命中率、提升缓存服务器的性能。


三.特定头域


特定头域是怎样进行负载的?


1.使用特定头域的名称


也许你会发现,使用手机上网所浏览的网页,和在PC端浏览的有所区别。这是因为考虑到带宽、流量、手机屏幕的分辨率等一系列问题,服务器对来自手机的请求往往都会采用特殊的处理方法,以保证良好的用户体验。


当以wap方式接入网络时,通常会在请求中带有x-up-calling-line-id头域。这样就可以通过识别该头域,来区分是否是为wap方式的请求。

如图,T-Force按头域进行负载:带有x-up-calling-line-id头域的手机请求发送到服务器1,其余的手机请求发送到服务器2。


2. 使用特定头域的名称、内容


除了提供头域名称方式,T-Force还支持按头域及其内容进行更为灵活的负载。

如图,还是用到上面的x-up-calling-line-id头域,如果以130开头的手机号WAP接入网络,那么完整格式就是x-up-calling-line-id: 130***,T-Force就根据头域内容的不同,将13开头的手机号的请求发送给服务器1,将18开头的手机号的请求发送给服务器2。


四.Cookie方式

例如,如下图所示,在处理请求的同时,服务器会根据cookie中的记录,将不同的用户群分开,在不同的服务器上处理。

因此,在特定的网络环境中,使用cookie往往是最方便的。



友情链接