我完全了解如何托管自己的网站,但我的问题(我希望这是提出这个问题的正确地方)是如何防范诸如 ISP 宕机或路由器故障之类的事情?有人运营自己的网站吗?有人有什么建议吗?
答案1
答案2
我猜你说的“ISP”是指为你的家庭或办公室提供互联网服务的人。除此之外,我还将提供一些处理共置和多地服务的建议。
避免因通过该 ISP 连接到您的家庭或办公室而导致中断的最佳方法可能是使用主机托管服务、托管服务提供商或 AppEngine 等应用程序提供商。这些服务通常托管在运营商级数据中心,具有冗余电源、冷却和互联网连接,因此它们比家庭中的 DSL 或电缆连接要可靠得多。
根据服务级别,这些设施可能能够经受住网络问题、电源问题等,而不会对应用程序的可达性产生任何影响。它们将提供冗余路由器、与多个互联网连接的连接、电源转换开关等。
这些服务有各种价位,因此尝试自己为仅有的一个或几个服务器构建这样的服务很少是经济的。
如果您的应用程序确实需要能够在发生重大中断时继续运行,那么典型的解决方案就是在多个设施(如上述设施)获取服务,并将服务设计为能够从一个设施故障转移到另一个设施,或者能够同时在两个位置运行。这通常需要大量工作来设计和构建以这种方式运行的应用程序,在不同位置之间复制数据等...
我想说的是,我发现很多人在真正证明实施这样一件事的合理性之前就已经考虑了可用性问题。如果你没有用户,那么努力达到可以获得用户的程度可能比大幅增加达到这一程度的难度以使其能够在罕见事件中幸存下来更重要。所以我的建议是,在决定要进行什么级别的冗余和复制时,要脚踏实地。拥有完全冗余和分布式服务是一个漫长而复杂的过程。
答案3
通常,这可以通过连接多个 ISP 的 cisco/sonic 路由器来实现。除非您有两个路由器与不同的 ISP 相连(冗余,因为路由器仍然必须连接到服务器、另一个路由器或通过服务器上的网卡),否则无法保护路由器免于故障。现在,当您为 IP 地址设置 DNS 时,大多数都会允许备份 IP。输入该 IP 后,您将能够从任一 IP 访问您的服务器(只要所有转发和防火墙都设置正确)。
答案4
最好的解决方案是具有透明故障转移机制和在裂脑模式下运行能力的多站点。
由于您无法明智地更改客户端上运行的软件 - 透明故障转移意味着循环 DNS - 最好具有位置感知(CDN)加权。