Orchestrator
2020.10
False
横幅背景图像
不在支持范围内
Orchestrator 安装指南
上次更新日期 2023年12月12日

云端部署

有多个企业云部署选项可用于托管 Orchestrator,例如 Amazon Web Services (AWS)、Microsoft Azure 或 Google Cloud Platform (GCP)。 在这里,我们将详细介绍使用 Azure 基础架构即服务 (IaaS) 产品进行的大型可扩展部署。 需要以下服务:

架构

备注:

以下架构示例包含可选和/或不同的组件(例如 CyberArk、UiPath 高可用性加载项)。

所述 Jumpbox 不是必需的,但推荐您在生产环境使用此最佳实践,因其可提供隔离和安全

单节点架构



多节点架构



硬件要求

本节介绍了下方扩展部署中所列的性能测试硬件配置。

Orchestrator 节点

每个 Orchestrator 节点都必须进行如下配置:

VCPUs

RAM (GB)

SSD (GB)

16

32

128

SQL 服务器

SQL Server 虚拟机规格必须根据 Orchestrator 节点的数量进行扩展:

Orchestrator 节点

VCPUs

RAM (GB)

1-2

8

16

5

16

32

10

16

64

Elasticsearch 可用性集

Elasticsearch 可用性集由 3 个主节点和 6 个数据节点组成,共 9 个节点,每个节点具有以下规格:

VCPUs

RAM (GB)

OS SSD (GB)

Data SSD (TB)

8

16

128 (5000 IOPS 和 100 MB/s 吞吐量)

1(具有 5000 IOPS 和 200 MB/s 的吞吐量)

软件要求

软件

版本

操作系统

Windows Server 2016

数据库

SQL Server 2017

日志记录

Elasticsearch 6.4.0

上面列出的版本是用于所述的部署和性能测试负载的版本。有关与 Orchestrator 兼容的所有版本,请参阅此处

负载平衡

对于多节点部署,建议使用两个 Azure 标准负载均衡器:

  • 一个用于 Orchestrator 服务器;
  • 一个用于 Elasticsearch 服务器。

Azure Redis Cache

重要提示:

多节点 Orchestrator 部署使用 RESP(REdis 序列化协议)进行通信,因此可以使用实现此协议的任何解决方案(如本示例中的 Azure Redis 缓存)进行配置。

仅当使用 UiPath 高可用性加载项时,UiPath 才支持 Orchestrator 的高可用性部署。

对于多节点部署,建议使用两个单独的 Redis 实例:

  • 具有 6GB 缓存的 Azure Redis 高级缓存 - 用于会话状态和用户实体关联的主节点;
  • Azure Redis 基本缓存 - 用于缩放 SignalR 服务。

配置

UiPath.Orchestrator.dll.config 设置

  1. 通过在 serverdiagnostics 索引中设置 writeTo 参数,将所有 Orchestrator 节点设置为向 Elasticsearch 报告,而不是向其各自的 Windows 事件日志报告,如下所示:
    <logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/><logger name="*" minlevel="Warn" writeTo="serverElasticBuffer"/>
  2. 启用 Quartz 作业集群,如下所示:
    <add key="quartz.jobStore.clustered" value="true" /><add key="quartz.jobStore.clustered" value="true" />
  3. 在“部署”部分中,配置 NuGet 存储库,如下所示:
    <add key="NuGet.Repository.Type" value="Composite" />
    <add key="Deployment.Libraries.AllowTenantPublish" value="true" />
    <add key="Processes.AllowUpdateWithRunningJobs" value="true" /><add key="NuGet.Repository.Type" value="Composite" />
    <add key="Deployment.Libraries.AllowTenantPublish" value="true" />
    <add key="Processes.AllowUpdateWithRunningJobs" value="true" />
  4. 在“负载均衡器” 部分中,按如下方式配置 Redis 实例,并确保将连接字符串和密码替换为各自的值:
    <add key="LoadBalancer.UseSqlServer" value="false"/>
    <add key="LoadBalancer.UseRedis" value="true"/>
    <add key="LoadBalancer.Redis.ConnectionString" value="<your.redis.cache.windows.net>:6379,password=****"/>
    <add key="LoadBalancer.SignalR.UseRedisScaleout" value="true"/>
    <add key="LoadBalancer.SignalR.RedisScaleout.ConnectionString" value="<your.second.Redis.Server>:6379,password=********"/><add key="LoadBalancer.UseSqlServer" value="false"/>
    <add key="LoadBalancer.UseRedis" value="true"/>
    <add key="LoadBalancer.Redis.ConnectionString" value="<your.redis.cache.windows.net>:6379,password=****"/>
    <add key="LoadBalancer.SignalR.UseRedisScaleout" value="true"/>
    <add key="LoadBalancer.SignalR.RedisScaleout.ConnectionString" value="<your.second.Redis.Server>:6379,password=********"/>
  5. 在数据库连接字符串中设置 Max Pool Size ,如下所示:
    <add connectionString="Data Source=172.16.100.12;Initial Catalog=UiPath;User ID=admin;Password=*******;Max Pool Size=700" name="Default" providerName="System.Data.SqlClient" /><add connectionString="Data Source=172.16.100.12;Initial Catalog=UiPath;User ID=admin;Password=*******;Max Pool Size=700" name="Default" providerName="System.Data.SqlClient" />
    注意:请务必将 Data SourceInitial CatalogUser IDPassword参数替换为 Orchestrator Azure 服务各自的值。有关详细信息,请参阅此处。有关更多详细信息,请参阅此处
  6. 设置 Elasticsearch 的缓冲区大小,如下所示:
    <target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000"><target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000">

扩展部署

Orchestrator 规模集中所需的节点数量取决于正在部署的机器人数量:

Orchestrator 规模集节点

机器人数量

1

最多 4,000 个

2

最多 8,000 个

5

最多 24,000 个

10

最多 48,000

这些部署已使用上述硬件和软件配置进行测试,在以下指定负载下没有表现出性能损失。

性能测试

静态数据

静态数据是指现有的初始 Orchestrator 负载。

实体

一个节点

两个节点

五个节点

十个节点

租户

40

80

240

480

环境

2,000

4,000

12,000

24,000

机器人

  • 有人值守
  • 浮动
  • 无人值守

4,000

  • 1,600
  • 1,600
  • 800

8,000

  • 3,200
  • 3,200
  • 1,600

24,000

  • 9,600
  • 9,600
  • 4,800

48,000

  • 19,200
  • 19,200
  • 9,600

8,000

16,000

48,000

96,000

流程

4,000

8,000

24,000

48,000

队列

200

420

1,200

2,400

队列项目

1,120,000

1,500,000

3,000,000

5,000,000

资产

40,000

80,000

240,000

480,000

计划

400

800

2,400

4,800

动态数据

动态数据是指在执行流程时添加到 Orchestrator 或在 Orchestrator 中更改的数据。

实体

一个节点

两个节点

五个节点

十个节点

队列项目 (每天)

112,000

175,000

672,000

1,250,000

作业 (每分钟)

2,000

4,000

12,000

24,000

日志(每分钟)

20,000

20,000

20,000

25,000

Nuget 下载 (每分钟最大)

2,000

4,000

12,000

24,000

已连接的机器人数量 (数量上限)

4,000

8,000

24,000

48,000

检测信号 (每分钟)

10,000

20,000

60,000

120,000

SignalR 通知 (每分钟)

2,000

4,000

12,000

24,000

忙碌的机器人

2,000

4,000

12,000

24,000

可用的机器人

2,000

4,000

12,000

24,000

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.