3、部署环境规划:服务器选型、操作系统要求、网络拓扑设计、高可用方案
好,咱们进入第三章。部署环境规划,这步要是没做好,后面运维起来会非常痛苦。我见过太多项目,前期随便找台机器就上了,结果一到生产环境就各种卡顿、崩溃,最后全得重来。说白了,环境规划就是给机器人盖房子,地基得稳。
3.1 服务器选型:别光看核数,要看场景
服务器选型,很多人第一反应就是CPU核数越多越好。其实不然。你得先想清楚,你的机器人是干什么的?
- 流程密集型:比如大量数据抓取、报表生成。这类任务吃CPU和内存。我建议至少4核8G起步,并发多的话上8核16G。
- UI交互密集型:比如操作SAP、浏览器。这类任务更吃内存和磁盘IO。内存建议16G以上,磁盘用SSD。我曾经有个项目,机器人操作ERP时频繁卡死,最后发现是机械硬盘的锅,换成SSD后问题全消。
- 混合型:既有计算又有UI操作。那就得综合考量,CPU、内存、磁盘都不能短板。
我的个人习惯:生产环境统一用物理机或高性能云主机,别用低配虚拟机。虚拟机资源争抢严重,机器人跑起来像老爷车。
| 场景 | CPU | 内存 | 磁盘 | 推荐机型 |
|---|---|---|---|---|
| 轻量级(<5个机器人) | 4核 | 8G | 256G SSD | 入门级云主机 |
| 中型(5-20个机器人) | 8核 | 16G | 512G SSD | 中配物理机 |
| 大型(20+机器人) | 16核以上 | 32G以上 | 1T SSD | 高性能服务器 |
3.2 操作系统要求:Windows是主流,但别乱装
RPA机器人,尤其是操作桌面应用的,Windows Server是绝对主流。为什么?因为很多企业软件只支持Windows。你想想看,一个银行的核心系统,能在Linux上跑吗?
操作系统版本建议:
- Windows Server 2019/2022 数据中心版或标准版
- Windows 10/11 专业版(仅限开发环境)
注意:千万别用Windows Server Core(无GUI版本)。RPA机器人需要图形界面,没有桌面环境,它连个按钮都点不了。
安装完系统后,有几个关键配置必须做:
- 关闭自动更新:机器人跑着跑着突然重启更新,那画面太美我不敢看。
- 开启远程桌面:方便运维人员远程排查。
- 安装必要运行库:比如.NET Framework 4.8、Visual C++ Redistributable。
- 配置防火墙:只开放必要端口,比如RPA控制台用的443、机器人通信用的端口。
避坑指南:我曾经遇到过一台服务器,装完系统后没打补丁,结果被勒索病毒盯上了。从那以后,我每次部署前都会先打全补丁,再关闭自动更新。这个顺序别搞反了。
3.3 网络拓扑设计:别让网络成为瓶颈
网络拓扑设计,说白了就是让机器人、控制台、数据库之间能顺畅通信。我见过最离谱的案例,机器人和控制台之间隔了三个防火墙,每次心跳包都要等5秒,机器人直接判定为离线。
典型拓扑结构:
- 控制台服务器:部署在中心机房,负责调度、监控、日志。
- 机器人执行机:可以分布在多个网段,甚至跨地域。
- 数据库服务器:独立部署,别跟控制台挤在一起。
- 文件服务器:存放脚本包、配置文件、日志文件。
网络要求:
- 控制台与机器人之间:延迟 < 50ms,丢包率 < 0.1%。
- 控制台与数据库之间:建议同机房,延迟 < 1ms。
- 机器人访问目标系统:确保网络可达,端口开放。
我建议:如果机器人需要访问内网系统,最好用专线或VPN。别走公网,不安全也不稳定。
3.4 高可用方案:别让单点故障毁了你的项目
高可用,说白了就是别让一个机器挂了,整个RPA系统都瘫痪。我刚开始做RPA时,觉得高可用是锦上添花,直到有一次控制台服务器硬盘坏了,所有机器人失联,业务停了整整一天。嗯,从那以后我再也不敢忽视高可用了。
常见高可用方案:
3.4.1 控制台高可用
- 主备模式:一台主控制台,一台备用。主挂了,备自动接管。我用的是Keepalived + Nginx,简单可靠。
- 负载均衡模式:多台控制台同时工作,通过负载均衡器分发请求。适合大型部署。
3.4.2 机器人高可用
- 机器人集群:多台机器人执行相同的任务,一台挂了,其他机器自动顶上。
- 热备机器人:专门留一台空闲机器人,随时准备接管故障机器人的任务。
3.4.3 数据库高可用
- SQL Server Always On:微软官方方案,支持自动故障转移。
- MySQL主从复制:成本低,但需要手动切换。
我的经验:数据库高可用一定要做。RPA系统里,数据库是核心中的核心。我见过一个项目,数据库挂了,所有机器人的状态、日志、调度信息全丢了,恢复起来简直噩梦。
高可用配置示例(伪代码):
# 控制台主备配置
主控制台: 192.168.1.10
备控制台: 192.168.1.11
虚拟IP: 192.168.1.100
# 机器人配置
机器人1: 192.168.2.10
机器人2: 192.168.2.11
机器人3: 192.168.2.12
# 数据库配置
主数据库: 192.168.3.10
备数据库: 192.168.3.11
最后,别忘了做压力测试。我习惯在部署前,用脚本模拟100个机器人同时运行,看看系统扛不扛得住。扛不住就加资源,别等到上线了再手忙脚乱。
好了,环境规划这块就聊到这儿。下一章咱们聊聊具体的部署流程,到时候我会手把手教你搭一套完整的RPA环境。