Azure DevOps Server 的复杂拓扑示例

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 代理服务器进行定向,然后 Azure DevOps 代理服务器将缓存在代理服务器上下载的所有源文件。

此示例中的拓扑还涉及容错和高性能。 数据层容错是通过利用SQL Server 聚类分析技术提供的。 多个 SharePoint Web 应用程序配置为由 SharePoint Web 场中的集合中的项目使用。 项目集合数据库分布在SQL Server实例中,以提高性能并简化个人管理。 SQL Server Reporting Services和SQL Server Analysis Server 在单独的服务器上运行,以提高性能。

此示例专为拥有多达 2,000 名用户的大型产品开发团队设计。

复杂多域拓扑

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

复杂多域拓扑

复杂多域拓扑(续)

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