是否可以获取或设置在多个物理位置或站点之间进行负载平衡的公共 IP 地址?它可能类似于虚拟 IP 地址 (VIP),指向多个 IP 地址,传入流量在多个站点之间进行负载平衡,每个站点具有不同的 ISP IP 地址?
目的是让多个位置为传入的用户请求提供服务,如果其中一个站点关闭,则继续从其余站点为用户提供服务。
负载均衡 DNS 可以实现类似的功能,但我想知道是否可以在 IP 地址级别完成负载均衡。
是否可以获取或设置在多个物理位置或站点之间进行负载平衡的公共 IP 地址?它可能类似于虚拟 IP 地址 (VIP),指向多个 IP 地址,传入流量在多个站点之间进行负载平衡,每个站点具有不同的 ISP IP 地址?
目的是让多个位置为传入的用户请求提供服务,如果其中一个站点关闭,则继续从其余站点为用户提供服务。
负载均衡 DNS 可以实现类似的功能,但我想知道是否可以在 IP 地址级别完成负载均衡。
根据您的编辑,听起来您想要任播。这在大型跨国公司中很常见。您从多个地方宣传同一个网络,路由会将流量带到最近的(从网络角度来看)宣传该网络的站点。当一个站点出现故障时,路由会自动将流量带到下一个最近的位置。
基本上,您利用路由协议(Internet 上的 BGP)来自动处理它。
正如罗恩提到的,您可能正在寻找任播。请注意,在 Internet 上,您至少需要 /24 (IPv4) 或 /48 (IPv6),许多(所有)提供商将过滤较大的前缀以节省其路由器上的宝贵内存。
互联网上最流行的任播用例可能是 DNS。大多数根 DNS 服务器是任播的,例如有 157 个 l.root-servers.net 实例(参见http://www.root-servers.org/)可在相同的 IPv4 和 IPv6 地址下访问。
要为您的服务设置这样的服务,需要一个路由协议守护进程(在互联网上使用 BGP 的东西)和一个用于监控您的服务并在出现故障时从路由表中删除此实例的软件的和平。一个例子是https://github.com/unixsurfer/anycast_healthchecker