在过去的一年中,我看到几乎所有云提供商的某些数据中心都出现了严重中断。例如,我在美国中南部地区有一些东西,刚刚经历了超过 3 天的存储服务中断。(幸运的是,我在 Amazon S3 上托管了我的大部分存储需求)。
我想知道公司如何拥有多个数据中心,同时保持所有数据同步并进行自动故障转移。这是自定义编码还是有特定的工具/方法可以做到这一点?
为了详细说明,我使用
- Azure 存储 Blob(仅适用于临时文件)
- 用于主要数据存储的 Amazon S3
- SQL Azure
- 虚拟服务器(Web 角色)
- AppFabric 缓存
我可以看到缓存和 Azure 存储并不重要,因为它们只托管可以轻松重新生成的临时文件和数据。虚拟服务器只是运行一个 ASP.NET 网站,因此您可以随时随地启动其中一个。但是,我需要将 SQL 数据库指向本地区域。
我遇到的主要问题是如何让 SQL 数据库在多个区域中可用和同步?
其次是如何在 Amazon S3 中提供冗余。我有一个带有 CloudFront 的 CDN,但这只是一个 CDN,不是完全冗余的。或者它甚至值得吗?