domain-name-system – 全局高可用性设置问题

domain-name-system – 全局高可用性设置问题,第1张

概述我拥有并经营 visualwebsiteoptimizer.com /.该应用程序提供了一个代码段,我的客户可以在其网站中插入该代码片段以跟踪某些指标.由于代码段是外部JavaScript(位于站点代码顶部),因此在显示客户网站之前,访问者的浏览器会联系我们的应用服务器.如果我们的应用服务器出现故障,浏览器将在超时(通常为60秒)之前继续尝试建立连接.您可以想象,我们无法承受在任何情况下关闭我们的 我拥有并经营 visualwebsiteoptimizer.com /.该应用程序提供了一个代码段,我的客户可以在其网站中插入该代码片段以跟踪某些指标.由于代码段是外部JavaScript(位于站点代码顶部),因此在显示客户网站之前,访问者的浏览器会联系我们的应用服务器.如果我们的应用服务器出现故障,浏览器将在超时(通常为60秒)之前继续尝试建立连接.您可以想象,我们无法承受在任何情况下关闭我们的应用服务器,因为它不仅会影响我们网站访问者的体验,也会影响我们客户的网站访问者的体验!

我们目前正在使用DNS故障转移机制,其中一个备份服务器位于不同的数据中心(实际上是不同的大陆).也就是说,我们从3个不同的位置监控我们的应用服务器,一旦检测到它关闭,我们将A记录更改为指向备份服务器IP.这适用于大多数浏览器(因为我们的TTL是2分钟),但IE缓存DNS 30分钟,这可能是一个交易杀手.见最近我们visualwebsiteoptimizer.com/split-testing-blog/maximum-theoretical-downtime-for-a-website-30-minutes/的帖子

那么,如果应用程序数据中心遭遇重大中断,我们可以使用哪种设置来确保几乎即时的故障转移?我在这里读到www.tenereillo.com/GSLBPageOfShame.htm,有多个A记录是一个解决方案,但我们还不能提供会话同步.我们正在探索的另一个策略是拥有两条A记录,一条指向应用服务器,另一条指向反向代理(位于不同的数据中心),如果启动则解析为主应用服务器,如果启动则解析为备份服务器.你认为这个策略合理吗?

为了确定我们的优先事项,我们可以保留自己的网站或应用程序,但由于我们的停机时间,我们不能让客户的网站放慢速度.因此,如果我们的应用服务器已关闭,我们不打算使用默认的应用程序响应进行响应.即使是空白的响应也足够了,我们只需要浏览器完成http连接(而不是其他任何东西).

参考:我读过这个有用的线程serverfault.com/questions/69870/multiple-data-centers-and-http-traffic-dns-round-robin-is-the-only-way-to-assure

解决方法 你的情况与我们的情况非常相似.我们需要分割数据中心和网络层类型故障转移.

如果你有足够的预算,那么你想要的是两个数据中心,每个数据中心有多个IP传输,一对边缘路由器与你的传输提供商进行BGP会话,将你的IP地址通告给全球互联网.

这是进行真正故障转移的唯一方法.当路由器注意到到您的服务器的路由不再有效时(您可以通过多种方式进行),那么它们就会停止宣传该路由,并且流量会转到另一个站点.

问题是,对于一对边缘路由器,您最初需要考虑相当高的成本才能实现此设置.
然后,您需要设置所有这些背后的网络,并且您可能希望将站点之间的某种Layer2连接视为点对点链接,以便您能够将流量路由到一个数据中心,在主站点部分失败的情况下直接与另一个站点相连.

BGP Multihomed/Multi-location best practice和Best way to improve resilience?是我询问类似问题的问题.

GSLB页面的耻辱确实提出了一些重要的观点,这就是为什么我个人从不愿意选择GSLB来完成BGP路由的工作.

您还应该查看网络中的其他故障点.确保所有服务器都有2个NIC(连接到2个独立的交换机),2个PSU,并且您的服务由多个后端服务器组成,如冗余对或负载平衡群集.

基本上,通过多个A记录的DNS“负载平衡”只是“负载共享”,因为DNS服务器没有关于每个服务器上有多少负载的概念.这很便宜(免费).

GSLB服务有一些关于如何加载服务器及其可用性的概念,并提供一些更大的失败抵抗力,但仍然受到与dns缓存和挂钩相关的问题的困扰.
这样便宜,但略好一些.

由坚实的基础设施支持的BGP路由网络是恕我直言,这是真正保证良好正常运行时间的唯一方法.您可以通过使用路由服务器而不是Cisco / Juniper / etc路由器来节省一些资金,但在一天结束时,您需要非常小心地管理这些服务器.这绝不是一个廉价的选择,或者是一件轻松的事情,但它是一个非常有益的解决方案,并将您作为提供商带入互联网,而不仅仅是消费者.

总结

以上是内存溢出为你收集整理的domain-name-system – 全局高可用性设置问题全部内容,希望文章能够帮你解决domain-name-system – 全局高可用性设置问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存