我阅读这篇文章: Web 2.0应用程序的客户端负载平衡 。 这是实际使用客户端负载平衡? 有什么缺点?
您阅读的文章描述了“循环”DNS负载平衡。 这样做的好处是,您依靠现有的DNS基础设施来平衡请求所在的位置……这种方法也有其缺点…
第一次请求你的networking服务器/应用程序之前,客户端的逻辑可以执行我猜想? 这意味着您可能在此请求期间提供可用服务器的列表。 (这是支持客户端方法的论据)
应用程序中最智能的部分是应用程序本身,而不是对其进行无意识支持的软件/硬件基础架构。 这当然是在应用程序层的任何地方实现负载平衡的好处之一。 另一个好处是你在理论上获得了一定程度的高可用性。 以这种方式开发应用程序也意味着将应用程序分发到多个“站点”应该相当容易。
您将面临的挑战将是所有典型的负载平衡挑战/多节点挑战。 如果您正在使用基于文件的数据库或会话机制,则需要弄清楚如何共享这些数据库。 如果您在其中一台服务器上执行维护,那么客户端应用程序将需要足够的智能来识别节点何时不再可用,并尝试另一个节点。 如果您使用DNS方法 – 您的负载平衡能力将直接与您愿意拥有多lessIP相关。 这可能会使服务器端路由器,反向代理,服务器IPconfiguration复杂化。
总而言之,对于大多数应用程序来说,客户端平衡是一个很好的方法。 对于高可用性和负载平衡,我们使用类似的方法进行桌面应用程序。
你也可以使用混合的方法。 我们使用混合的方式进行服务器发现,部分地依赖于DHCP,这是另一回事。