【发布时间】:2011-07-08 07:37:27
【问题描述】:
我目前正在用 php 创建一个具有数据库后端(可以是 MySQL 或 SQL Server)的网站,最近我意识到,如果我的数据库随时崩溃,我的网站将无法正常运行,并且可能会引起一些头痛。
那么,如果我的数据库(或任何关键的外部组件)出现故障,在网站上显示的正确内容是什么?我的特定网站严重依赖其数据库,没有它几乎毫无用处。
我被告知的一个选项是向网站管理员发送电子邮件并显示错误 500 页面,说明服务器出现问题,并且基本上使网站无法使用,直到问题得到解决。我还能做些什么来解决这个问题吗?有没有什么方法可以设计一个网站,使数据库(任何关键组件)崩溃都不是问题?
我正在寻找一般的经验法则以及过去人们如何解决此问题的具体示例。此外,这些示例不仅仅适用于我的网站示例。
【问题讨论】:
-
您可以添加一个冗余数据库并在第一个数据库崩溃时使用它。当然,这增加了确保两个数据库同步的麻烦,这可能值得麻烦 - 或者不。
-
我认为 HTTP 500 错误几乎是标准。不确定您还期望能做什么,除了在必要时仅使用数据库(从而使您的网站的大部分部分保持“工作”)。作为旁注,您确定您的网站需要数据库服务器吗?一个简单的 SQLite 数据库可能就足够了,并且可以减少您对外部系统的依赖。取决于你的需要。