假设我们将要构建高可用性是最重点的Web应用程序。我们的客户是公司,因此停机时间等于参与其中的每个人的收入损失。

总而言之,我们需要始终在线上,以使每个人都开心。因此,从非常基本的角度来看 我们应该考虑哪些技术来做到这一点?

除了我们将使用PHP来保持高速发展外,我们几乎没有偏好,因此我们完全开放了新的数据存储平台,还有什么还有什么来实现它。

您的答案非常感谢!非常感谢!

有帮助吗?

解决方案

您需要为此考虑硬件和软件。

关于硬件,您最好的选择可能是选择具有必要经验的托管提供商,例如Rackspace(我已经与他们一起做了很好的个人体验,但还有很多其他经验)。这不会便宜。您将需要完全冗余的硬件来生存任何一个组件的故障 - 多个服务器(至少两个),每个服务器都有多个磁盘,网卡,风扇,电源,电源 - 您会得到图片。

关于该软件 - 确保牢记可扩展性构建。如果这是您的经营网络应用程序,则使用MVC范式并保持分离清洁将有很长的路要走,以确保您可以在需要运行的多个服务器上扩展应用程序。

最困难的部分通常是数据库,因为您不能只运行两个。因此,请查看具有自动故障转移甚至群集的主奴隶设置。

有许多书籍可用于此主题, 这只是其中之一. 。祝你好运!

其他提示

有几种方法可以根据很多变量来解决此问题:

  • 使用托管解决方案
  • 部署虚拟机以具有冗余
  • 使用负载平衡
  • 突袭阵列

所有这些组合都可以帮助您。

如果您决定使用托管解决方案,您仍然想做一些自己的备份,以防主机降低并且需要恢复。如果您部署了虚拟机,您还可以执行一些负载平衡,并在组件下降时准备了虚拟机。

大量冗余,如果您永远无法负担,请一直到多个数据中心。

您还可以查看不同的云服务,例如Amazon EC2和Rackspace Cloud。然后,您可能只能为所需的确切计算能力付费...

另请参阅:

http://www.2mhost.com/mission-critical-web-hosting.html

http://www.ihostxtremes.com/

http://www.netlocations.com/

http://www.mewebhost.com/

我个人强烈推荐 Azure应用程序服务 (这是用于构建Web应用程序的PAAS解决方案)。

img
(来源: Windows.net)

还要查看以下通用 /同构Web应用程序入门套件: https://github.com/kriasoft/reaeact-starter-kit (免责声明:我是作者)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top