UiPath Documentation
orchestrator
2020.10
false
Orchestrator 安装指南
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

云端部署

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

架构​

备注:

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

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

单节点架构​

多节点架构​

硬件要求​

This section describes the hardware configurations used for the performance testing listed in Scaling Your Deployment, below.

Orchestrator 节点​

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

VCPUsRAM (GB)SSD (GB)
1632128

SQL 服务器​

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

Orchestrator 节点VCPUsRAM (GB)
1-2816
51632
101664

Elasticsearch 可用性集​

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

VCPUsRAM (GB)OS SSD (GB)Data SSD (TB)
816128 (with 5000 IOPS and 100 MB/s Throughput)1 (with 5000 IOPS and 200 MB/s Throughput)

软件要求​

软件版本
操作系统Windows Server 2016
数据库SQL Server 2017
日志记录Elasticsearch 6.4.0

The versions listed above are those used for the deployments and performance tested loads described. For all versions compatible with Orchestrator, see here.

负载平衡​

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

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

Azure Redis Cache​

重要提示:

Multi-node Orchestrator deployments use the RESP (REdis Serialization Protocol) for communication, and thus can be configured using any solution implementing this protocol, such as Azure Redis Cache in this example.

仅当使用 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" />
    
    备注:

    Be sure to replace the Data Source, Initial Catalog, User ID, and Password parameters with the respective values of your Orchestrator Azure service. See here for more details.

  6. 设置 Elasticsearch 的缓冲区大小,如下所示:

    <target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000">
    <target name="robotElasticBuffer" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="5000">
    

Scaling Your Deployment​

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 中更改的数据。

实体一个节点两个节点五个节点十个节点
Queue Items (per day)112,000175,000672,0001,250,000
Jobs (per minute)2,0004,00012,00024,000
Logs (per minute)20,00020,00020,00025,000
Nuget Downloads (Maximum per minute)2,0004,00012,00024,000
Robots Connected (Maximum)4,0008,00024,00048,000
Heartbeat (per minute)10,00020,00060,000120,000
SignalR Notifications (per minute)2,0004,00012,00024,000
忙碌的机器人2,0004,00012,00024,000
可用的机器人2,0004,00012,00024,000

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新