没有负载均衡器的 Web 应用程序冗余服务?

没有负载均衡器的 Web 应用程序冗余服务?

我想跑使用 WebView 的移动应用程序内的 Web 应用程序。Web 应用程序使用 IndexedDB 来保存各种重要值。我希望使 Web 应用程序非常可用(冗余)。我已经在三个不同的托管位置拥有三个具有公共 IP 地址的 Web 服务器,我可以将它们用于此目的。

我的考虑是:

  • 我不能使用三个子域名针对三台服务器。这本来是我首选的解决方案,因为 WebView 应用可以先随机检查三个子域之一的可用性,然后将可用的子域提交给 WebView url。但 IndexedDB 内容与完整域绑定,因此如果域发生变化,其内容将消失。
  • 我不能使用DNS轮询因为如果一台服务器发生故障,33% 的用户会收到错误消息(服务器未响应)。根据我的研究,如果一个服务器发生故障,WebView 不会从 DNS 尝试多个 IP。我还发现,它甚至会将其缓存(不会在较长时间内尝试另一个)。
  • 我不想使用负载均衡器因为即使我有三个服务器,其应用程序和主机也会成为单点故障。此外,对于 DNS-Round-Robin,如果其中一个服务器发生故障,用户就会收到错误消息。
  • 我无法使用直接 IP,因为 https 通配符证书仅适用于域名。

关于如何解决此类问题还有其他想法吗?

相关内容