支持 HA/DR 的许可证服务器架构
- Updated: 2025/10/22
许可证服务器支持具有高可用性和灾难恢复能力的 Control Room 全局实例。 应用程序的定期健康检查会触发故障转移过程,以保持服务的连续性。
许可证服务器 (LS) 在美国集中托管。 全球所有使用基于 GUID 的许可证或云许可证的 Control Room 实例都连接到此服务器。 许可证服务器是一个关键服务,具有高可用性和灾难恢复能力。 下图说明了详细的基础设施级别架构。 有关云许可证的详细信息,请参阅 云许可常见问题解答。
考虑两个区域,俄勒冈(主要)和弗吉尼亚(备用)区域。 弗吉尼亚备用区域有一个工作任务,需要定期检查俄勒冈主要区域的应用程序和数据库健康状况。 下图是关于最佳状态的示意图。
如果应用程序无响应,服务器会检查主要的主数据库。 如果应用程序和数据库都多次无法通过健康检查,工作任务就会启动故障转移过程。
以下三个场景可以触发灾难恢复状态并启动故障转移过程:
- 如果主应用程序出现故障(所有 3 个 dyno 都处于停用状态),但主数据库处于活动状态,工作任务不会采取任何行动。 然而,警报和监控系统通知了团队。
- 如果主应用程序处于活动状态但主数据库出现故障,Heroku 会自动从同一区域的另一个可用性区分配一个备用数据库。
- 如果主应用程序和主数据库都出现故障,工作任务会触发故障转移脚本。
如果上述三个场景中的任何一个发生,故障转移脚本将激活,并实施以下工作流:
- 弗吉尼亚区域的追随者数据库与俄勒冈区域的主数据库同步所有提交,然后停止追随。
- 弗吉尼亚区域的数据库将成为新的主数据库。
- 弗吉尼亚应用程序连接到弗吉尼亚区域的新主数据库。
- 网页应用防火墙 (WAF) 连接到弗吉尼亚应用程序的路由器。
- WAF 与俄勒冈之间的连接已被移除。
当俄勒冈区域再次激活时,需要手动干预(重新连接网页应用防火墙 (WAF))才能将俄勒冈恢复为主应用程序。