高可用性和災害復原概觀

高可用性 (HA) 在 IQ Bot 服務、服務器或數據庫出現故障時提供故障轉移解決方案。災害復原 (DR) 會在發生導致整個資料中心故障的災害時,提供分置兩地的復原解決方案。

IQ Bot HA 和 DR 解決方案

IQ Bot 環境中,高可用性 (HA) 和災害復原 (DR) 的實作會減少停機時間,並維護bot活動的業務連續性 (CoB)。

  • 高可用性 (HA)—高可用性是一種體系結構系統設計,用於嘗試保護系統免受某些故障情況的影響。這意味着即使系統的某些部分發生故障,整體而言,它仍然可用且可用。高可用性解決方案通常可防止特定情況發生,例如:服務器故障、單個組件故障、依賴性故障、可變負載增加和網絡分離,這些情況取決於網絡上不可達的系統組件。
  • 災難恢復 (DR)—災難恢復涉及一套策略和過程,以便在發生自然或人爲災難後恢復或繼續重要的基礎架構和系統。災難恢復解決了系統中許多不同的故障原因,其中高可用性通常佔可預測的少數。災難恢復的重點是在事件發生後重新建立服務,而不僅僅是故障轉移。系統恢復包括以下情況:重新啓動服務或系統、從備份恢復配置文件或數據庫。
爲確保 IQ Bot 組件的 HA 和 DR 保護,請配置現有 HA 和 DR 基礎架構、負載平衡和故障轉移系統以包括 IQ Bot 服務器和服務。如需瞭解您經過核准的本地 HA 和 DR 程序,請洽詢您的資料中心管理員。

必要的 HA 和 DR 基礎結構元素

  • 分散式方法IQ Bot 除了叢集相關的資料中心元件外,我們也建議您部署 IQ Bot 在多部實體及 / 或虛擬伺服器上。
  • 負載平衡—由負載平衡器執行,這是在多個服務器之間分配應用程序或網絡通信的過程,以保護服務活動並允許在多個服務器之間分配工作負載。如此可確保bot活動持續在叢集伺服器上進行。

  • 數據庫—數據庫使用自己的內置故障轉移來保護數據。如此可確保資料庫資料的復原能力。

    • 在 HA 羣集之間,配置 數據中心中主(主動)和輔助(被動)羣集 MS SQL 服務器之間的同步複製。如此可確保資料庫節點故障時能保持一致性。

      對於所需的 HA 同步複寫,請設定下列其中一項:

      • 將副本備份到 SQL Server 的同步提交模式始終處於 可用性組中
      • SQL 與 [伺服器資料庫對應]
    • 在 DR 站點之間,配置數據庫以提供 主(生產) DR 站點到輔助(恢復) DR 站點的異步複製,該站點與主 DR 站點在不同地理位置。

範例情境

將相同叢集中的所有 IQ Bot 實例指向相同資料庫和存放庫檔案。這是啟用跨多個伺服器共用資料的必要項目,並確保 IQ Bot叢集中的伺服器之間的資料完整性得以維護。

HA 和 DR 部署模式

爲確保 IQ Bot 受 HA 和(或) DR 保護,請根據中所述的部署模型配置數據中心:

HA 實作需求

  • 在多部伺服器上安裝 IQ Bot
  • IQ Bot 存取是透過負載平衡器。
  • 開啟 IQ Bot 伺服器之間的 RabbitMQ 同步連接埠。
  • 在高可用性模式下設定 Microsoft SQL Server

安裝 HA 和 DR 組態需求

  • IQ Bot 安裝程序不直接支持羣集安裝。要設置羣集,請執行以下操作:
    • 在每個應用程式伺服器節點上執行安裝程式。
    • 使用 訪問角色 Everyone 共享輸出文件夾
    • 安裝後,使用 適當的命令行參數執行 messagequeue_cluster_configuration.bat 。
  • 在高可用性組態中設定 IQ Bot
  • 打開防火牆端口:4369 和 25672。
  • 在叢集中的每個 IQ Bot 節點上安裝 RabbitMQ

    IQ Bot 安裝的第一個節點將成爲主 RabbitMQ 節點。主節點的主機名用於配置 RabbitMQ 羣集。

  • 需要有負載平衡器,才能將流量分發到所有 IQ Bot 伺服器節點。
  • 配置 Microsoft SQL Server 高可用性。使用 Microsoft SQL Server “始終打開” 選項。
  • 對於 RabbitMQ 具體安裝,請參閱 RabbitMQ 文件。

HA 和 DR 已知限制

  • 爲了發現 IQ Bot 實例的可用性,負載平衡器會定期發送 ping 、嘗試連接或發送測試 IQ Bot 實例的請求。這些測試稱爲運行狀況檢查。
  • 運作狀況檢查不會驗證 RabbitMQ 實例的可用性。