Azure DevOps Server 的复杂拓扑示例

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

备注

Azure DevOps Server 以前名为 Visual Studio Team Foundation Server。

可以通过多种拓扑配置之一配置 Azure DevOps Server。 一般而言,拓扑越简单,维护 Azure DevOps Server 部署的效率就越多。 应部署满足业务需求的最简单拓扑。

本文介绍两种复杂的 Azure DevOps Server 拓扑。 复杂拓扑具有跨多个服务器分布 Azure DevOps Server 组件。 它由地理位置位于不同地理位置的多个域中的客户端访问。 除了 SharePoint 产品和 SQL Server Reporting Services 之类的可选组件外,还安装了 Azure DevOps 代理服务器。 有几个不同的代码库,每个代码库都有它们自己的项目集合用于使用它们的项目。 团队项目集合的数据库存储在运行 SQL Server 的多个不同服务器上。

复杂的单一域拓扑

复杂的服务器拓扑使用群集中的多台服务器或其他故障转移配置来托管逻辑 Azure DevOps 数据和应用层组件。 下图演示了一个复杂的单一域拓扑:

复杂单域拓扑示例

此示例拓扑类似于 中等拓扑。 Azure DevOps Server 服务部署在一台服务器上,而 Azure DevOps Server 数据库安装在单独的服务器上,并且在其他服务器上部署了 Team Foundation Build 和团队的测试代理和测试代理控制器。 此外,还添加了故障转移组件。 Azure DevOps 数据库已安装在 SQL Server 群集上。

示例关系图显示了西雅图和 Cleveland 中的子域,每个域都具有父域的双向可传递信任。 这两个域都信任 Azure DevOps Server 的服务帐户。 每个地域间的子域使用有限的带宽连接。 由于从 Azure DevOps Server 的版本代码控制组件获取登记可能需要很长时间,因此在这种有限的带宽条件下,将在每个子域中安装一个 Azure DevOps 代理服务器作为版本控制文件代理缓存。 所有客户端请求将直接转到应用程序层,版本控制代码 get 请求除外。 这些请求由 Azure DevOps 代理服务器定向,后者随后会缓存它在代理服务器上下载的所有源文件。

本示例中的拓扑也涉及容错和高性能。 数据层容错是通过利用 SQL Server 群集技术来提供的。 配置了多个 SharePoint Web 应用程序以供 SharePoint Web 场中的集合内的项目使用。 项目集合数据库分布在 SQL Server 实例上,以提高性能并简化单个管理。 SQL Server Reporting Services 和 SQL Server 分析服务器在不同的服务器上运行,以提高性能。

此示例适用于最多支持2000用户的大型产品开发团队。

复杂多域拓扑

复杂的多域服务器拓扑使用两个或多个域中的多个服务器。 与复杂的单一域拓扑一样,部署使用群集或其他故障转移配置来托管 Azure DevOps 的数据层组件。 此部署的管理员已配置网络负载平衡,并添加了多个应用层服务器来分发操作负载。 下图演示了一个复杂的多域拓扑:

复杂多域拓扑

复杂多域拓扑(续)

如上一示例所示,此拓扑配置为容错和高性能。 此外,此拓扑分布在多个域中,其中一些域是父域的完全受信任的子域,但其中一个 (IsolatedLab.com) 是完全独立的域。 Azure DevOps Server 使用的服务帐户是所有域的完全受信任成员,并且用户帐户已在父域和单独的域中配置为必须在两个域中使用的用户。 防火墙已配置为允许 Azure DevOps Server 所需端口间的流量。