关于 GitHub Enterprise Server 的部署拓扑
可以根据环境和用户需求,在不同的拓扑中为 GitHub Enterprise Server 实例部署虚拟机。
-
若要支持灾难恢复和补充备份的计划,或为地理位置分散的用户提高网络和写入性能,可以配置高可用性。 在高可用性配置中,一个节点充当主节点,而另一个节点充当副本节点。 有关详细信息,请参阅“关于高可用性配置”。
-
若要为拥有数万名开发人员的环境提供水平缩放,可以使用群集拓扑。 群集可解决单个主节点经常遇到资源耗尽的情况。 此配置需要仔细规划和额外的管理开销。 GitHub 将与你一起确定你的群集资格。 有关详细信息,请参阅“关于集群”。
故障场景
高可用性 (HA) 和群集都通过消除作为故障点的单个节点来提供冗余。 它们能够在这些场景中提供可用性:
- 软件崩溃,操作系统失败或不可恢复的应用程序所致。
- 硬件故障,包括存储硬件、CPU、RAM、网络接口等。
- 虚拟化主机系统故障,包括 AWS、Azure 或 GCP 上未计划和计划性维护事件。
- 逻辑或物理服务网络(如果故障转移设备在不受故障影响的单独网络上)。
可伸缩性
集群通过跨多个节点分配负载而提供更好的可扩展性。 这种横向扩展能力可能更适合某些拥有数万名开发者的组织。 在 HA 中,设备的规模完全取决于主节点,并且负载不会分发到副本服务器。
故障切换方法和配置方面的差异
功能 | 故障切换配置 | 故障转移方法 |
---|---|---|
高可用性配置 | TTL 较低的 DNS 记录指向主设备或负载均衡器。 | 您必须在 DNS 故障切换和负载均衡器配置中手动升级副本设备。 |
群集 | DNS 记录必须指向负载均衡器。 | 如果负载均衡器后面的节点发生故障,流量将自动发送到其他正常运行的节点。 |
备份和灾难恢复
HA 或群集都不应被视为常规备份的替代品。 有关详细信息,请参阅“在实例上配置备份”。
监视
可用性功能,尤其是具有自动故障切换的功能(如群集)可以屏蔽故障,因为在发生故障时通常不会中断服务。 无论你使用的是 HA 还是群集,监视每个实例的健康状况都十分重要,这样你就可以了解何时发生了故障。 有关监视的详细信息,请参阅“建议的警报阈值”和“监视群集的运行状况”。