1. 概述

Azure DevOps Server (之前称TFS)是微软公司的软件研发管理平台产品,为研发团队提供需求、开发、测试和持续集成和交付的全流程服务。

这个产品从设计之初,就综合考虑了兼容不同规模的研发团队,它支持小到3-5个人的团队,多到几万人的软件研发团队。对于大规模的软件研发团队,DevOps Server从应用层的扩展性和数据库层的高可用性方面,做了非常完善的设计。下图是一个比较典型的多层次、多节点的分布式部署拓扑结构图。大部分超过500人的软件研发团队,一般都会部署一套与这个结构大同小异的DevOps Server系统,以便达到Azure DevOps Server系统运行的高性能、高可用性目标。

本文主要介绍如何在DevOps Server的应用层上如何实现分布式部署,并利用Windows操作系统原生的网络负载均衡功能,实现应用的多节点部署,后续我们还会介绍如何利用Always-On技术实现数据库层的高可用性。

如果在你的网络系统中已经部署了第三方的网络负载均衡产品(例如F5,或Citrix),则可以直接配置网络分流即可实现本文提到的负载均衡目标。

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)


2. 动手实验

下面我们通过动手实验的方式,带领大家体验Azure DevOps Server应用层的负载均衡配置。

在这个实验中,为了简化安装,我们只部署2个节点的应用层服务器(如下图),相关服务器的信息如下:

  • 操作系统:Windows Server 2019
  • 数据库:SQL Server 2019
  • 应用服务器:Azure DevOps Server 2020
  • 服务器IP:
    • 高可用地址:192.168.20.10
    • 应用层服务器1:192.168.20.11
    • 应用层服务器2:192.168.20.12
    • 应用层服务器2:192.168.20.13

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)

2.1 安装Windows负载均衡服务器

在Windows操作系统的“服务器管理器”中,添加“网络负载平衡”

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)

2.2 配置Windows负载均衡服务器

打开网络负载平衡管理器

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)

将当前节点添加到负载集群中

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)

可以在负载均衡管理器中看到当前的三个节点服务器(Azure DevOps Server的应用服务器)

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)

2.3 验证AZ DevOps Server负载均衡

完成负载均衡配置后,我们无需对现有的Azure DevOps Server做任何调整,就可以验证聚Azure DevOps Server的负载均衡。

我们打开浏览器,使用负载均衡IP后域名(在这个实验中为http://192.168.20.10/)访问Azure DevOps,你会发现负载均衡自动将请求发送到不同的应用服务器。

在下图中,由于我们对每个Azure DevOps Server的节点做了标记(在项目设置后面标上午服务器的IP),我们可以看到在页面导航过程中,会看到下图中的标记会随机变化,说明负载均衡服务器已经将用户请求发送到了不同的服务器。

在Azure DevOps Server的日志中,我们也可以看到每台服务器都有了用户请求的记录。

部署Azure DevOps Server(TFS)的高可用节点(负载均衡)

3. 常见问题

3.1 新建负载均衡集群,选择单播还是多播?
在Windows服务器的负载均衡中,单播是指服务器将所有服务器的网卡物理地址设置修改为一样的,不同节点之间是不能相互访问的。
一般来说,在NLB的创建时,单网卡多播,双网卡单播。双网卡单播时,因为主机之间不能互相通信,将设置内网通讯的网卡,也就是群集设置中的心跳。在微软官方推荐在NLB设置时,首先考虑单播模式,除非单播不能满足其要求,若要解决流量扩展的方法,推荐使用VLAN。


3.2 Azure DevOps Server要做什么特殊设置吗?
一般,只需要在控制台中将公共URL设置为集群地址或者集群域名,其他都不需要做调整。
但是,如果你配置了ES(Elastics Search)搜索服务,则需要在独立的服务器上配置ES搜索服务,并在其他节点中配置使用这台独立的搜索服务器。


如果需要,你还可以从微软Azure DevOps Server 的在线文档,查询更多的权威资料

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君

------------------------------------------------------------

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-11-09
  • 2021-10-15
猜你喜欢
  • 2021-12-26
  • 2021-10-28
  • 2021-11-22
  • 2022-12-23
  • 2021-05-08
  • 2021-10-24
  • 2022-12-23
相关资源
相似解决方案