如何在Linux服务器下实现多网卡负载均衡?
说到Linux服务器多网卡负载均衡,有一种思路是应用服务器层面的负载均衡。做法是把客户端的负载均衡层移植到某个中间平台,形成三层结构,这样一来客户端应用不用做特殊改动,就能透明地通过中间层应用服务器把请求均衡分配到各个服务结点上。比较常见的实现手段就是反向代理技术,用反向代理服务器把请求均匀转发给多台服务器,或者干脆直接把缓存的数据返回给客户端,这种加速模式在一定程度上能提升静态网页的访问速度,也就顺带达到了负载均衡的目的。
用反向代理有个好处,就是能把负载均衡和代理服务器的高速缓存技术结合起来,性能收益不错。不过它自身也有毛病,首先每种服务都得专门开发一个反向代理服务器,这可不是件轻松的活儿。而且反向代理服务器虽然效率能做得挺高,但每代理一次,服务器就得维护两个连接,一个对外、一个对内。所以遇到连接请求特别高的场景,代理服务器的负载就非常大了。它倒是能执行针对应用协议优化过的负载均衡策略,每次只挑最空闲的内部服务器来服务,可随着并发连接数一涨,代理服务器自己的负载也水涨船高,最后它本身反而变成服务的瓶颈了。