呼叫中心的核心價值是連接人與服務(wù)。隨著互聯(lián)網(wǎng)對傳統(tǒng)行業(yè)改造的深化,派生出很多線上、線下互動的應(yīng)用場景,例如:訂餐、訂外賣、訂酒店等。而線上線下信息鏈結(jié)合最簡單、最高效的工具莫過于電話。因此,呼叫中心也從原來僅僅提供客戶服務(wù)和營銷服務(wù),演變?yōu)榕c企業(yè)業(yè)務(wù)流程深度結(jié)合,全方位實現(xiàn)企業(yè)與客戶溝通的工具。天潤融通的云呼叫中心作為一個開放的呼叫中心能力平臺,使得企業(yè)只需要使用非常簡單的API或SDK即可輕松實現(xiàn)低成本、高可靠的語音服務(wù)。
開放化的語音平臺結(jié)合場景化的應(yīng)用,使得云呼叫中心平臺對容量和穩(wěn)定性提出了更大的要求。如何滿足客戶彈性業(yè)務(wù)需求,應(yīng)對業(yè)務(wù)時段峰值?下面就以某訂餐業(yè)務(wù)模型為例,探討下云呼叫中心架構(gòu)該如何應(yīng)對?
某外賣業(yè)務(wù)模型
某外賣業(yè)務(wù)流量圖
每天中午11:00-12:30,晚上17:00-19:00訂餐業(yè)務(wù)高峰,極不均衡
設(shè)計原則
在智能云呼叫中心平臺設(shè)計之初,我們根據(jù)平臺客戶的業(yè)務(wù)需求特點,對平臺架構(gòu)設(shè)計確認了如下幾點原則:
1.平臺架構(gòu)應(yīng)基于開放成熟的云IaaS服務(wù);
2.在云端進行架構(gòu)設(shè)計時要保持悲觀,假設(shè)所有事物都會發(fā)生故障。換句話來說,架構(gòu)需要面向故障的自動化恢復(fù)來設(shè)計,實施和部署。平臺任何模塊必須是HA架構(gòu),消除單點模塊;
3.應(yīng)用云IaaS服務(wù)與IDC機房由DX專線組成混合架構(gòu)云;
4.分布式架構(gòu),必須非常容易擴容,支持自動彈性伸縮;
5.平臺中模塊之間的關(guān)系降低耦合,便于業(yè)務(wù)的快速演進;
6.以業(yè)務(wù)監(jiān)控、日志和統(tǒng)計為運營核心構(gòu)建平臺;
7.具備跨機房級別的高可用結(jié)構(gòu);
8.完善的完全機制,自我保護與服務(wù)降級能力;
實踐之路
憑借“云中優(yōu)勢”進行系統(tǒng)組網(wǎng)。
基于云平臺的架構(gòu)在組網(wǎng)結(jié)構(gòu)上具備明顯的商業(yè)優(yōu)勢。體現(xiàn)在幾乎為零的啟動成本,靈活的資源按需付費模式,快速的擴容上線能力等方面。
在技術(shù)層面云平臺架構(gòu)也存在明顯優(yōu)勢??蓪崿F(xiàn)自動化構(gòu)建和部署,自動擴展無需人工干預(yù),可將測試持續(xù)注入到開發(fā)過程各個階段,實現(xiàn)改進的可預(yù)測性。
天潤融通智能云呼叫中心平臺,基于AWS云/阿里云+DX直連IDC組建的混合架構(gòu)云,既能利用云平臺的“云中優(yōu)勢”又能兼容特殊應(yīng)用讓平臺的運行上線無縫切換。在網(wǎng)絡(luò)架構(gòu)上,將核心機房和落地機房通過專線打通,形成環(huán)線。其中任何一點的專線故障都可以通過整體的網(wǎng)絡(luò)調(diào)度,由其他專線或互聯(lián)網(wǎng)進行切換傳送,從而不影響業(yè)務(wù)的正常運轉(zhuǎn)。
高可用的組網(wǎng)結(jié)構(gòu)圖
在基礎(chǔ)IaaS云服務(wù)上構(gòu)建大容量高可用的系統(tǒng)。
在基礎(chǔ)IaaS云服務(wù)方面,AWS與阿里云差別不大,以下僅以AWS為例說明如何在基礎(chǔ)IaaS服務(wù)之上構(gòu)建大容量高可用的系統(tǒng)。
目前智能云呼叫中心平臺架構(gòu)基于AWS所提供的3層基礎(chǔ)服務(wù):
AWS云平臺組件服務(wù)
第一層。 基礎(chǔ)計算、存儲和網(wǎng)絡(luò)組件,包括EC2,S3,EBS,VPC和DX等等。其中S3服務(wù)由AWS提供11個9的持久性,DX專線采用2條互為備份的1G直連保證了網(wǎng)絡(luò)性能。
第二層。高可用的數(shù)據(jù)庫RDS,Cache,SNS和SQS應(yīng)用組件,支持跨機房的高可用和可靈活擴容。實時處理部分全部使用Rediscache降低數(shù)據(jù)庫壓力,大量使用SQS做異步化處理實現(xiàn)削峰填谷。
第三層。應(yīng)用層的ELB負載均衡器,AutoScaling彈性伸縮,以及完善的監(jiān)控和日志服務(wù)。系統(tǒng)各模塊首先全部是無狀態(tài)的,AutoScaling的應(yīng)用使得通過ELB收集采樣來的當前負載和伸縮策略相結(jié)合,能夠動態(tài)調(diào)整EC2的實例個數(shù),當業(yè)務(wù)高峰時啟動大量實例承接業(yè)務(wù),而低谷時減小實例降低成本。
在平臺架構(gòu)設(shè)計中必須意識到,故障和故障切換是作為系統(tǒng)架構(gòu)的一部分存在的。通過AWS/阿里云等云環(huán)境提供的容錯架構(gòu),大大降低了系統(tǒng)運維方面的復(fù)雜性,實際上這部分架構(gòu)是由云環(huán)境完成了。與基礎(chǔ)硬件故障設(shè)計一樣,平臺軟件方面也必須進行故障切換的架構(gòu)設(shè)計,比如:如果一個模塊down掉,平臺上的應(yīng)用怎么辦?如果接口請求超時或異常怎么處理?如果突發(fā)請求超過系統(tǒng)容量又怎么辦?
我們的經(jīng)驗是基于SOA面向服務(wù)的架構(gòu)理念,構(gòu)建組件之間的關(guān)鍵是減小組件之間的依賴。如果一個組件掛了沒有響應(yīng)或響應(yīng)時間過長,系統(tǒng)中其他組件應(yīng)該能繼續(xù)工作。組件之間盡量相互獨立,通過異步交互方式使用消息隊列設(shè)計組件間的接口。這樣即使某些功能暫時不能用,整個系統(tǒng)仍然繼續(xù)運行,當出問題的組件恢復(fù)后仍然可以使用消息隊列中的數(shù)據(jù)恢復(fù)運行狀態(tài)。
基于SOA面向服務(wù)的架構(gòu)理念,我們解耦和拆分構(gòu)建了大量的生態(tài)子系統(tǒng),系統(tǒng)之間通過API調(diào)用構(gòu)建完整的功能生態(tài)鏈,比如NOSS網(wǎng)管中心,BOSS營帳中心,NMC碼號中心,TTS-proxy語音合成中心,SMSC短信平臺等等,整體架構(gòu)如下圖所示意:
整體架構(gòu)圖
除了整體生態(tài)系統(tǒng)層面做了解耦和面向微服務(wù)架構(gòu)的拆分工作,智能云呼叫中心核心交換平臺也進行了大量微模塊拆分。共計拆分了25個子系統(tǒng),其中主要的子系統(tǒng)如下: