编辑:三年或四年前,当我刚开始从事网络开发的时候,我问了这个问题,今天我觉得这个问题有点傻。我想在不依赖其他主机提供商的情况下创建自己的服务器设置。我想删除这个问题,但它有一些很好的答案,所以我要离开它。
我想将我的网站部署到多个物理服务器。
是否有可能在所有物理服务器上保存文件和设置(以及用户输入),以便服务器完成以下工作:
该网站仍然运行,没有中断,没有任何数据损失。
有人知道关于这个主题的一些在线课程或一些全面的教程吗?
发布于 2012-10-27 11:39:01
正确的想法。
每个服务器都有来自不同提供商的互联网连接,例如a.如果有任何互联网提供商停机,或者b.出现任何硬件或电源故障,网站仍然运行,不会中断,也不会丢失任何数据。
因此,如果您依赖多个托管服务,那么当您的网站增长时,您将很难维护它。
为了达到您的目的,您应该从基于内容交付网络(CDN)的公司获得托管服务。
内容分发网络(CDN)是部署在Internet上多个数据中心的大型分布式服务器系统。CDN的目标是向高可用性和高性能的最终用户提供内容。CDN服务于当今互联网内容的很大一部分,包括web对象(文本、图形、URL和脚本)、可下载对象(媒体文件、软件、文档)、应用程序(电子商务、门户网站)、直播流媒体、点播流媒体和社交网络。-维基百科
以下资源可能对您有帮助
发布于 2012-10-27 11:15:03
如果您正在寻找性能提升,这是一个与高可用性或容错完全不同的主题。我猜你只是在找后者。
您可以做的是拥有两个(或更多)服务器。一个是主动的,另一个是后备的。例如,主服务器可以运行,做它需要做的一切,而另一个服务器与它保持同步(可能是通过NFS或SSH),并使用CURL测试它,以确保它每隔几分钟(或几秒钟)处于活动状态。
如果检测到主服务器没有响应,它就会在自己的HD上启动web服务器软件,以及所有迄今为止同步的数据,从而有效地宣布自己为活动服务器。
如果主服务器(以前出现故障)再次上升,那么它首先要做的是检查另一个服务器现在是否是活动服务器(或者正在成为一个服务器)。如果是的话,那么它实际上是宣布自己为次要的。否则,它只会再次启动自己的web服务器。
发布于 2012-10-29 11:18:30
如果您的网站缓存友好(多次重复阅读),CDN可能会做您想做的事情。
然而,如果不是这样,我会设置它像这个多个互联网连接->防火墙->路由器->负载均衡器->多个web服务器共享SAN,这样所有的web服务器都保存到相同的位置。如果您想要在一个大范围内分发您的服务器,您必须意识到服务器之间会有某种延迟,因此不会完全匹配。
https://softwareengineering.stackexchange.com/questions/171571
复制相似问题