« 上一篇下一篇 »

摆弄:负载均衡器

大多数重要网站和外界之间都有负载均衡器。负载均衡器保护Internet下的网站,并使网站更快和更可靠。

    1、分配负载

    最初使用负载均衡器是为了在多个服务器之间进行平衡负载。与其使用一个非常大的Web服务器,不如购买多个小的服务器并在它们之间平衡流量。

    分配负载最简单的方法是在Web服务器间使用循环模型迭代输入访问。但是循环模型不考虑其他因素,比如美国服务器当前正在做的工作或某些服务器比其他服务器性能更好。现在,负载均衡器使用更复杂的算法选择用户最少的服务器或响应最快的服务器。

    2、避免宕机

    负载均衡的另一个作用是可靠性。通过几台机器,网站可以增加冗余。如果一台服务器宕机,负载均衡器可以把它从轮询中移除并把它和访问者隔离。

    3、地址转换

    负载均衡器有一个公共IP地址,在其之后的服务器有若干个私有地址。这使网站难以被攻击,因为攻击者不能通过公共的Internet直接连到私有的IP地址上。这也意味着总的来说不需要很多的IP地址。

    4、合并请求

    Web服务器涉及网络信令的大部分工作是管理任意时刻的TCP会话。客户端和服务器都必须保持对数据包顺序、重发等的跟踪。对于客户端,这很容易,只需要管理少量连接;但是对于服务器来说非常棘手。服务器也许需要跟踪成千上万的TCP会话,可能要消耗比网站时机拥有的还要多的资源。

    负载均衡器有助于改善这种状况。它们可以减少这些成千上万的网络连接,在每台服务器上只需要维持少量的连接。

    Web服务器只有少量的链接需要处理,负载均衡器使用称为“流水线”的技术一次发送几个请求到服务器,进一步增加了连接的效率。但是,注意流水线使网络连接监测变得更困难,因为在几个请求被同时发出的情况下,通常的请求响应模型不容易跟踪。

    5、压缩和加密响应

    加密传输要消耗许多计算能力,这些工作最好交给负载均衡器来完成。负载均衡器有专门的硬件用于高效地处理这类工作。这包括加密和解密传输,压缩数据、调整缓存参数减少请求次数。

    就加密来说,负载均衡器需要解密流量,它可以查看HTTP头(本来会被隐藏起来),并基于cookie和内容决定哪台服务器应该处理这些流量。不需要了解负载均衡器内部的工作机制,但是了解数据是否加密十分重要。如果通过线缆在负载均衡器和Web服务器之间进行嗅探,那么可以查看到文本格式的流量。这些流量在发送到Internet之前要进行加密和压缩,这样内部测量到的页面大小可能与实际到达用户的页面大小不一样。

« 上一篇下一篇 »