有两个主要缺点:
您的负载分布不均。粘性会话将持续,因此得名。虽然初始请求将平均分配,但是您最终可能会花费大量时间花费更多的时间。如果所有这些最初都设置为单个服务器,则该服务器将具有更多的负载。通常,这并不会真正产生很大的影响,可以通过在群集中拥有更多服务器来减轻这种影响。
代理将用户聚集到单个IP中,所有这些IP都将发送到单个服务器。尽管这通常没有什么害处,但是除了增加单个服务器的负载之外,代理也可以在群集中运行。如果该请求来自该代理系统中不同的代理服务器,则从这样的系统向F5发送的请求不一定会发送回同一服务器。
AOL在某一时刻使用代理群集,并且确实与负载平衡器和粘性会话搞混了。现在,大多数负载平衡器将提供基于C级网络范围的粘性会话,或者对于F5,基于cookie的粘性会话将最终节点存储在Web请求cookie中。
虽然基于cookie的会话应该可以工作,但是我在使用cookie时遇到了一些问题,通常选择基于IP的会话。但是,我主要是在内部应用程序上工作-DMZ的运行时间可能会有所不同。
综上所述,在运行带有粘性会话和过程中会话的F5的网站方面,我们取得了巨大的成功。
您可能还想看一看内存中分布式缓存系统(例如Memcached或Velocity)中的一种,以替代会话存储在SQL中或进程外内存服务中。您可以跨多个服务器运行它,从而接近进程内存储器的速度。