您當(dāng)前的位置是:  首頁 > 資訊 > 國內(nèi) >
 首頁 > 資訊 > 國內(nèi) >

如何使用Hearbeat和PostgreSQL數(shù)據(jù)庫實現(xiàn)ippbx雙機熱備示例

2020-11-23 10:33:30   作者:james.zhu   來源:Asterisk開源派   評論:0  點擊:


  企業(yè)通信解決方案是企業(yè)通信的核心構(gòu)件,如果其穩(wěn)定性沒有得到充分保障的話,員工溝通和客戶溝通就會帶來很多的問題。一般來說,相對比較小的或者中小型的IPPBX或者UC無需復(fù)雜的備份處理機制,僅對系統(tǒng)文件備份即可。但是,相對比較大型的,或者超過200-300用戶以上的系統(tǒng)為了降低運營風(fēng)險則需要比較穩(wěn)定的熱備機制。今天,我們分享一個通過使用心跳機制和數(shù)據(jù)庫實現(xiàn)IPPBX的熱備處理的典型案例。
  圖例來自于互聯(lián)網(wǎng)資源
  概述
  隨著通信全IP化的進程,現(xiàn)代企業(yè)中基于IP的語音、視頻、會議、融合通信已廣泛應(yīng)用,企業(yè)部署的IPPBX作為通信系統(tǒng)最核心的部分,如何保證高可靠性與安全性尤為重要,也成了考驗系統(tǒng)能力的一種標(biāo)準(zhǔn)。
  鼎信通達推出的UC8000系列IPPBX是基于最新技術(shù)開發(fā)的增強型軟交換系統(tǒng),采用軟交換+硬件服務(wù)器架構(gòu),可提供雙機熱備高可靠解決方案,通過硬件冗余再配合高可用雙機熱備軟件實現(xiàn)的技術(shù)方案,自動檢測服務(wù)器的運行狀態(tài),當(dāng)主機發(fā)生故障,可以立即切換到備機接管業(yè)務(wù),客戶無感知,秒級切換,最大保證業(yè)務(wù)系統(tǒng)不間斷運行,為企業(yè)提供穩(wěn)定可靠的通信保障。
  雙機熱備架構(gòu)說明
  為了解決在不可控因素的影響下,通訊系統(tǒng)依然可以正常工作,高度保障用戶的通訊不中斷,因此需要采用雙機熱備模式,來保障系統(tǒng)的高可靠性。雙機熱備是將 Hearbeat、PostgreSQL 主從配置和守護進程相結(jié)合。
  Heartbeat 負(fù)責(zé)主從服務(wù)器之間心跳檢測,當(dāng)檢測到主服務(wù)器規(guī)定時間內(nèi)不發(fā)心跳包時,判斷為主服務(wù)器出現(xiàn)故障,Heartbeat 會立即將從服務(wù)器設(shè)置為主服務(wù)器來接管業(yè)務(wù),保障用戶通訊系統(tǒng)不會因故障而影響使用。同時 數(shù)據(jù)庫的雙機熱備配置,在用戶向數(shù)據(jù)庫中寫數(shù)據(jù)時,會同時寫入主、從服務(wù)器的數(shù)據(jù)庫中,當(dāng)其中主數(shù)據(jù)庫故障、癱瘓時,可立即切換使用從數(shù)據(jù)庫服務(wù)器,保障用戶數(shù)據(jù)丟失。
  UC8000系統(tǒng)的智能守護進程會實時監(jiān)測業(yè)務(wù)系統(tǒng)狀態(tài)是否正常運行,若檢測到所守護的進程停止工作,守護進程會嘗試將其重新啟動,進而保證無論是主還是從服務(wù)器的系統(tǒng)都運行正常。 除了Heartbeat 心跳檢測外,相當(dāng)于單機的IPPBX服務(wù)器還要做PostgreSQL 數(shù)據(jù)庫的主從同步和故障切換。保障主從軟交換節(jié)點的數(shù)據(jù)配置保持一致,并且當(dāng)服務(wù)器故障宕機后,自動切換使用備服務(wù)器,PostgreSQL 數(shù)據(jù)庫角色也會自動切換為主。
  部署方式一:IPPBX系統(tǒng)和數(shù)據(jù)庫部署在同一臺服務(wù)器
  企業(yè)用戶數(shù)不多,呼叫業(yè)務(wù)數(shù)據(jù)較少,用戶對話單、錄音等數(shù)據(jù)信息的安全存儲要求不是特別高,可以將IPPBX和數(shù)據(jù)庫部署在同一臺服務(wù)器,實現(xiàn)雙機熱備部署方案,在兩臺UC8000服務(wù)器上分別部署 Heartbeat檢測,用Eth1 接口做心跳檢測,Eth0網(wǎng)口接外網(wǎng)用于跑呼叫業(yè)務(wù),從服務(wù)器的Eth0網(wǎng)口默認(rèn)是down,當(dāng)檢測到主服務(wù)器宕機后,備服務(wù)器自動將本機的 Eth0 接口啟用,以此實現(xiàn)將主服務(wù)器的業(yè)務(wù)全部轉(zhuǎn)移到備服務(wù)器上。主備服務(wù)器所有數(shù)據(jù)都會實時同步,主備切換服務(wù)器時保證數(shù)據(jù)的一致性,為用戶的通訊系統(tǒng)穩(wěn)定運行保駕護航。
  組網(wǎng)拓?fù)洌?/strong>
  部署方式二:IPPBX和數(shù)據(jù)庫單獨部署,雙數(shù)據(jù)庫備份
  如果用戶對數(shù)據(jù)安全性存儲要求很高,數(shù)據(jù)對于客戶特別重要,可以采用IPPBX軟交換和數(shù)據(jù)庫分開獨立部署的高可靠解決方案,IPPBX實現(xiàn)雙機熱備,同時部署雙數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)容災(zāi)備份,可以保障客戶數(shù)據(jù)的安全,在兩臺UC8000服務(wù)器上分別部署 Heartbeat檢測,用Eth1 接口做心跳檢測,Eth0網(wǎng)口接外網(wǎng)用于跑呼叫業(yè)務(wù),從服務(wù)器的Eth0網(wǎng)口默認(rèn)是down,當(dāng)檢測到主服務(wù)器宕機后,備服務(wù)器自動將本機的 Eth0 接口啟用,以此實現(xiàn)將主服務(wù)器的業(yè)務(wù)全部轉(zhuǎn)移到備服務(wù)器上。除軟交換業(yè)務(wù)外,還有PostgreSQL的主從同步和主從切換腳本,UC8000會將CDR話單、錄音等數(shù)據(jù)同時發(fā)給主備數(shù)據(jù)庫服務(wù)器,從而實現(xiàn)業(yè)務(wù)數(shù)據(jù)的同步以及容災(zāi)備份,為用戶的通訊系統(tǒng)穩(wěn)定運行保駕護航。
  組網(wǎng)拓?fù)洌?/strong>
  參考資料:
  https://severalnines.com/database-blog/tracking-high-availability-postgresql-heartbeat
  www.dinstar.cn
【免責(zé)聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

相關(guān)閱讀:

專題

CTI論壇會員企業(yè)