高可用性和灾难恢复概述
- Updated: 2020/05/11
高可用性和灾难恢复概述
高可用性 (HA) 在IQ Bot服务、服务器或数据库出现故障时提供故障转移解决方案。灾难恢复 (DR) 在发生导致整个数据中心发生故障的灾难时,提供跨地理分隔距离的恢复解决方案。
IQ Bot HA 和 DR 解决方案
在 的背景下IQ Bot,实施高可用性 (HA) 和灾难恢复 (DR) 可减少停机时间,并保持您bot活动的业务连续性 (CoB)。
- 高可用性 (HA) — 高可用性是一种架构系统设计,尝试保护系统免受某些故障情况的影响。这意味着,即使系统的某些部分出现故障,它整体上仍然可用。高可用性解决方案通常可防止特定情况,例如:服务器故障、单个组件故障、依赖故障、可变负载增加以及依赖于在网络上变得无法访问的系统组件的网络分割。
- 灾难恢复 (DR) — 灾难恢复涉及一系列政策和程序,用于在发生自然或人为灾难后恢复或继续重要基础设施和系统。灾难恢复可以解决系统中许多不同的故障原因,其中高可用性通常占可预测的一小部分。灾难恢复的重点是事件后重建服务,而不仅仅是故障转移。系统的恢复包括下列情况:重新启动服务或系统、从备份中恢复配置文件或数据库。
所需的 HA 和 DR 基础架构元素
- 分布式方法 — 除了群集IQ Bot相关数据中心组件之外,我们还建议您在多个物理和虚拟IQ Bot服务器上部署 。
-
负载平衡 — 由负载均衡器执行,这是在多个服务器上分发应用程序或网络流量以保护服务活动并允许工作负载在多个服务器之间分发的过程。这可确保bot活动在群集服务器上继续。
-
数据库 — 数据库使用自己的内置故障转移来保护数据。这可确保数据库数据恢复。
在 HA 群集之间,配置数据中心中主要(主动)和次要(被动)群集 MS SQL 服务器之间的同步复制。这确保在数据库节点发生故障时保持一致性。
对于所需的 HA 同步复制,请配置以下其中一项:
- 将副本备份到 SQL Server Always On 可用性组的同步提交模式
- SQL 到服务器数据库镜像
- 在 DR 站点之间,配置数据库以提供从主要(正式部署)DR 站点到次要(恢复)DR 站点的异步复制,该次要(恢复)DR 站点位于与主要 DR 站点地理分隔的位置。
示例场景
将同一群集中的所有IQ Bot实例指向同一数据库和存储库文件。这是启用跨多个服务器共享数据并确保在群集内的 IQ Bot服务器上保持数据完整性所必需的。
HA 和 DR 部署模型
要确保 受到 HA 和/或 DR 的IQ Bot保护,请根据 中描述的部署模型配置您的数据中心:
HA 实施要求
- 在多个IQ Bot服务器上安装 。
- 通过IQ Bot负载均衡器访问 。
- 打开RabbitMQ服务器之间的IQ Bot同步端口。
- 在Microsoft SQL Server高可用性模式下配置 。
安装 HA 和 DR 配置要求
- IQ Bot 安装程序不支持群集安装。要设置群集,请执行以下操作:
- 在每个应用程序服务器节点上运行安装程序。
- 使用访问角色
Everyone
共享输出文件夹
。 - 安装后,使用适当的命令行参数执行
messagequeue_cluster_configuration.bat
。
- 在高可用性配置IQ Bot中配置 。
- 打开防火墙端口:4369 和 25672。
- 在群集中的每个RabbitMQ节点IQ Bot上安装 。
安装 的第一个节点IQ Bot将成为主RabbitMQ节点。主节点的主机名用于配置RabbitMQ群集。
- 需要负载均衡器以将流量分配给所有IQ Bot服务器节点。
- Microsoft SQL Server 为高可用性进行配置。使用Microsoft SQL Server“始终开启”选项。
- 有关RabbitMQ特定安装,请参阅 文档RabbitMQ。
HA 和 DR 已知限制
- 要发现IQ Bot实例的可用性,负载均衡器会定期发送 Ping、尝试连接或发送测试IQ Bot实例的请求。这些测试称为健康检查。
- 运行状况检查不会验证RabbitMQ实例的可用性。