Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019
可以在多个拓扑配置之一中配置 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 群集上。
示例图显示了西雅图和克利夫兰的子域,每个子域与父域之间都有双向可传递信任关系。 Azure DevOps Server 的服务帐户受这两个域的信任。 每个地理上遥远的子域都使用有限的带宽连接。 由于从 Azure DevOps Server 的版本代码控制组件中获取登记可能需要很长时间,因此,Azure DevOps 代理服务器安装在每个子域中以充当版本控制文件代理缓存。 所有客户端请求都直接转到应用程序层,但版本控制代码的获取请求除外。 这些请求通过 Azure DevOps 代理服务器进行定向,然后缓存在代理服务器上下载的所有源文件。
此示例中的拓扑还涉及容错和高性能。 数据层容错是通过利用 SQL Server 群集技术提供的。 为 SharePoint Web 场中的集合中的项目配置了多个 SharePoint Web 应用程序。 项目集合数据库分布在 SQL Server 实例中,以提高单个管理的性能和便利性。 SQL Server Reporting Services 和 SQL Server Analysis Servers 在单独的服务器上运行,以提高性能。
此示例专为拥有多达 2,000 名用户的大型产品开发团队设计。
复杂的多域拓扑
复杂的多域服务器拓扑在两个或多个域中使用多个服务器。 与复杂的单域拓扑一样,部署使用群集或其他故障转移配置来托管 Azure DevOps 数据层的组件。 此部署的管理员已配置网络负载均衡,并添加了多个应用程序层服务器来分配作负载。 下图演示了复杂的多域拓扑:
与上面的示例一样,此拓扑配置为容错和高性能。 此外,此拓扑分布在多个域中,其中一些是父域的完全受信任的子域,但其中一个(IsolatedLab.com)是完全独立的域。 Azure DevOps Server 使用的服务帐户是所有域中被完全信任的成员,而用户帐户按照需要配置在父域和独立域中,以便用户能够在这两个域中工作。 防火墙已配置为允许流量通过 Azure DevOps Server 所需的端口。