asp.net - 您的灾难恢复计划是什么?

标签 asp.net sql-server web-applications recovery failover

<分区>

对于 ASP Net Web 应用程序,如果 SQL Server 数据库不是很大(大约 10Gb),您会推荐什么?

我只是想知道,将 Amazon EC2 实例配置为准备好在紧急情况下托管您的应用程序是个好主意吗?

在这种情况下,什么是保持数据库更新的最佳方法(日志传送?手动备份恢复?)以及更改 dns 设置的最简单和最快的方法?

编辑:可接受的停机时间在 4 到 6 小时之间,这就是为什么我考虑使用 Amazon ec2 选项,因为与租用辅助服务器相比成本更低。

最佳答案

更新 - 刚刚看到您的评论。具有日志传送功能的 Amazon EC2 绝对是最佳选择。不要使用镜像,因为它通常假定另一个备用数据库可用。如果您将 TTL 设置为 DNS,更改 DNS 的时间不应超过 1/2 小时。这将使您有时间整合任何待处理的日志。可能每周大约打开一次服务器以集成待处理的日志(或更少以避免增加小时成本。)


您的主要托管位置应该在所有级别都有冗余:

  • 多个互联网连接,
  • 多个防火墙设置为故障转移,
  • 多个集群网络服务器,
  • 多个集群数据库服务器,
  • 如果您存储文件,请使用 SAN 或 Amazon S3,
  • 根据服务器的用途,每台服务器都应该有某种形式的 RAID,
  • 每台服务器都可以有多个 PSU 连接到单独的电源/断路器,
  • 外部和内部服务器监控软件,
  • 停电时自动开启的发电机,以及一个备用发电机以备不时之需。

这将使您在大多数故障情况下都能在主要位置运行。

然后在远程位置设置一台服务器,使用日志传送保持更新,并将其包含在您的部署脚本中(在您的正常生产服务器更新后......)在该国另一边的托管服务器很好地用于这些目的。为了最大限度地减少不得不切换到辅助位置的停机时间,请将 DNS 记录上的 TTL 保持在您认为合适的最低水平。

当然,如此多的硬件都会变得陡峭,因此您需要确定什么值得停机 1 秒、1 分钟、10 分钟等,并相应地进行调整。

关于asp.net - 您的灾难恢复计划是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/500090/

相关文章:

asp.net - 仅加密 web.config ASP.NET 中的密码

asp.net - 禁用 <ASP :LinkButton> 上的回发

c# - 驱动程序连接到项目

php - 如何在页面中构建数据库调用?

java - 在网络应用程序或桌面应用程序内的框架中重用 android 代码( native Java)

c# - 修饰符 'public' 对此项目无效

c# - 使用 SqlCommand 参数时调用 SQL 函数要慢得多

sql-server - 如何从 SQL Server 中的值列表中进行选择

javascript - 哪些浏览器支持 HTML5 WebSocket API?

c# - 从类中获取文本值的相同元素的不同结果