本文不涉及到具体的HAA部署步骤,只是对Uipath相关的Redis集群、高可用方案做一个简单的介绍。
目前官方文档上介绍的的Orchestrator部署方案有三种:
1、单节点orchestrator部署
单节点部署,即是一般的orchestrator部署,这里不做多介绍。
2、多节点部署:其实类似集群(cluster)部署。
每个orchestrator都相当于集群中的一个“节点”(node),每个节点都提供相同的服务。当有业务请求进来后,由HAA(Redis)进行业务调度,将该请求分配给此刻负载较小的节点来处理,是的每个节点的压力都比较平均。HAA实际上就充当了一个负载均衡器的角色。
由于有多个 Orchestrator 节点可用,因此这能提供更出色的性能并能有效避免故障 - 当一个节点发生故障时,其他节点还可承担负载。它还具有水平可扩展性,因为随着对机器人需求的进一步增长,还可以添加其他节点。但是,不应将此部署模型与[高可用性]混淆,因为单独的 HAA 节点仍为潜在的单点故障。
3、高可用性部署(High Availablity)
高可用性部署具有与多节点部署类似的架构,但与简单的多节点 Orchestrator 部署相比,此模型要使用更多资源,且至少需要 3 个 HAA 节点并要满足相应的硬件和软件要求。多个Orchestrator和HAA节点,能够在一个节点出现故障的时候,由其他节点承担负载。
Redis实现高可用原理:
1、主从复制数据。(replication)
2、采用哨兵监控数据节点的运行情况,一旦主节点出现问题由从节点顶上继续进行服务。(sentinel)
高可用与Redis集群的区别:
高可用实现的是服务器与业务处理数据的稳定性,降低系统整体故障的概率,提高系统整体的可用性与稳定性;集群则是为了提高系统的性能与线性扩展能力,解决单机的性能瓶颈问题。