我正在为高可用性应用程序编写规范。我需要一个低预算的解决方案,以便在两个数据中心之间进行故障转移。复制数据库和内容,我将能够管理解决方案。有哪些解决方案可以从一个位置“切换到”另一个位置?
答案1
你的问题有两个方面。第一是如何复制数据;第二是如何将流量引导至当前活跃的站点。
1:这在很大程度上取决于您的要求。同步复制非常昂贵,非常昂贵,主要影响您的网络成本。异步复制可以以多种不同的方式实现,既有简单而便宜的方式,也有复杂且耗费供应商许可成本的方式,但不能保证您永远不会丢失任何数据。与您的业务主管交谈,了解他们想要看到什么,然后构建一些可以满足这些特定要求的东西。
2:两种标准方法是修改 DNS 记录(根据问题标签判断,您似乎知道这一点)或运行 BGP。
大多数现有的 GSLB 设备都使用 DNS:了解服务器状态的硬件充当域的权威服务器,发出将客户端指向相应站点的响应。故障转移时间取决于区域的 TTL 设置和客户端软件的行为。这种方法不能保证 100% 成功,但似乎被所有人接受为“足够好”。您可以在没有专用硬件的情况下执行相同操作,只需使用一些智能脚本(监控主机、修改绑定区域文件并在必要时重新加载绑定)。
BGP 更明确:您从需要接收所有流量的站点通告您的 IP 块,在收敛时间(约 15 分钟)内,所有流量都会流向那里。不依赖于损坏的 DNS 解析器或名称缓存。但设置起来更困难 - 您确实需要在两个站点都安装支持 BGP 的路由器。
答案2
要处理数据库的实时数据中心故障转移 (又称 DR),您需要一些能够处理站点之间实时同步复制的存储。所有大型存储阵列都可以处理此问题,但它们价格昂贵。Starwind 软件有一些存储软件,可以将任何 Windows 服务器变成存储阵列。
关于您正在尝试做什么、您正在查看什么平台等的更多信息将会非常有帮助。