请纠正我,但我的理解是,使用软件负载平衡时,必须在每台服务器上运行一项服务,同时有一个 DS 通知其他服务器某台服务器已发生故障,并且它们应该消耗该服务器的负载。
使用硬件负载平衡时,故障转移会发生什么?有人能解释一下吗?在故障转移方面,使用硬件负载平衡有什么优势吗?还是使用软件有优势?或者它们都有各自的优缺点?
答案1
有几种方法可以实现故障转移。(可能更多,但这些是主要的和我用过的):
具有浮动 IP 的集群系统;由于没有会话 ID,这适用于静态内容;理论上,未充分利用的服务器将首先响应请求,并且它们都共享一个 IP。
代理负载平衡器节点。这可以是软件,例如将用户发送到特定服务器集的 apache;可以将其设置为基于会话的规则,以始终将特定会话/ip/等发送到同一服务器,以便基于会话的网站可以正常工作
硬件负载平衡器(例如 f5 制造的负载平衡器)。您可以让节点进入和退出池,并指定一个端口,所有流量都将通过该端口发送到特定的服务器池。这可以处理任何类型的 IP 流量,并且使用此负载平衡器和更多基于软件的负载平衡器,您可以在负载平衡器之间拥有冗余节点和浮动 IP,或者采用主动-备用类型的设置。
根据配置方式,软件和硬件负载均衡器之间的区别本质上在于其配置方式和运行环境。例如,比较家用路由器或企业级思科路由器等物理路由器,或使用 Linux 下具有多个 NIC 和 IPtables/DNSMasq 的常规 x86 机器。