• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 專(zhuān)家觀(guān)點(diǎn) >

    云之訊首席架構師張修路:云呼叫中心服務(wù) 未來(lái)的趨勢走向

    2017-06-02 09:38:27   作者:   來(lái)源: InfoQ    評論:0  點(diǎn)擊:


      1.這里是Qcon北京2017采訪(fǎng)間,我們邀請到了云之訊首席架構師張修路老師接受我們的采訪(fǎng),張老師,您好,請您先向大家做個(gè)自我介紹吧。
      張修路:大家好,我是張修路。2002年,我從哈爾濱工業(yè)大學(xué)研究生畢業(yè),并在畢業(yè)之后加入華為公司一直工作至2014年。在離開(kāi)華為公司之后,我做過(guò)一些創(chuàng )業(yè)項目。去年年底,我收到了一位原同事的邀請,請求加入到云之訊公司擔任語(yǔ)音業(yè)務(wù)的架構師。在華為工作的十幾年期間,我做過(guò)類(lèi)似WAPGW、短信、彩信、IPTV的系統架構設計,以及網(wǎng)絡(luò )安全與可靠性、可服務(wù)性等一系列各種各樣的專(zhuān)項系統設計。有很長(cháng)一段時(shí)間,我在做整個(gè)解決方案的設計,因為在電信行業(yè),我們需要提供客戶(hù)完整的解決方案,包括之前提及的短信、彩信、IPTV,還有彩鈴等業(yè)務(wù)。我們需要將所有的業(yè)務(wù)連貫起來(lái),給它提供一個(gè)完整的一體化解決方案。最主要的是,在加入云之訊之后,我主要從事的工作是云呼叫中心的設計,而我想通過(guò)這種設計,將其與我在過(guò)去十幾年的電信行業(yè)背景相結合,因為在我離開(kāi)華為之后,我曾在多家公司從事關(guān)于互聯(lián)網(wǎng)業(yè)務(wù)的工作,對互聯(lián)網(wǎng)的業(yè)務(wù)有了一定的了解,而今天的工作就能夠較好地結合我對電信行業(yè)業(yè)務(wù)的理解,以及對云計算和互聯(lián)網(wǎng)業(yè)務(wù)的理解。這恰恰也是我愿意加入這個(gè)團隊,且持續發(fā)展的一個(gè)原因。
      2.您剛剛提到了,您曾經(jīng)負責多個(gè)產(chǎn)品的系統設計,那么您可以跟大家分享一下您的經(jīng)驗嗎?
      張修路:在系統設計的過(guò)程中,很重要的一點(diǎn)就是對業(yè)務(wù)的理解。因為在過(guò)去的工作過(guò)程中,我發(fā)現很多同事他對技術(shù)的理解非常到位,但是對客戶(hù)的需求卻沒(méi)有理解到位,導致整個(gè)系統在設計的過(guò)程中出現問(wèn)題。在我看來(lái),系統設計過(guò)程中極為重要的就是要能夠深入理解客戶(hù)的需求,以及它的業(yè)務(wù)場(chǎng)景。我和我市場(chǎng)部門(mén)的同事談及的第一件事情,首先你能夠完整地描述我們客戶(hù)的業(yè)務(wù)需求以及它的業(yè)務(wù)場(chǎng)景,比如說(shuō)我們的呼叫中心,對我們客戶(hù)、它的最終用戶(hù)、它的消費者是打電話(huà)步驟,在這個(gè)使用呼叫中心的過(guò)程中,會(huì )經(jīng)過(guò)什么步驟。基于對這個(gè)業(yè)務(wù)場(chǎng)景的深入分析,以及做場(chǎng)景的抽象和分析,然后開(kāi)始做架構設計,那么對一名架構師而言,在系統設計過(guò)程中極為重要的就是盡可能多地了解技術(shù)。所謂架構是一種選擇的過(guò)程,大多數架構師不會(huì )選擇去發(fā)明一種新技術(shù),更多的是整合已有的技術(shù)來(lái)完成客戶(hù)需求和業(yè)務(wù)場(chǎng)景的設計,因此需要對多個(gè)系統有足夠多地理解,在積累了眾多經(jīng)驗之后,就能夠選擇最合適的技術(shù)來(lái)滿(mǎn)足客戶(hù)的需求,并且設計出一個(gè)高可靠、高并發(fā)、穩定的系統。如果想要設計一個(gè)類(lèi)似電信級的系統,不僅要做到非常高并發(fā)、高可靠,還需要使用分布式的異步編程,以及一些扁平化的架構設計。
      3.您剛才也提到一些電信級的產(chǎn)品,您是如何看待電信級和云系統兩類(lèi)產(chǎn)品的不同之處?
      張修路:在過(guò)去的電信系統中,它極為強調可靠性,即對可靠性的要求非常高。舉個(gè)例子,光傳輸領(lǐng)域,如果說(shuō)我們經(jīng)常出現光纖被挖斷,或者說(shuō)它需要在極短的時(shí)間,可能是萬(wàn)分之一秒完成主備的倒換,那么我們需要依靠它帶來(lái)的高可靠性;但另一方面,它引發(fā)了高成本,到達語(yǔ)音呼叫,或者云計算之后,尤其是以谷歌此類(lèi)互聯(lián)網(wǎng)技術(shù)的發(fā)展,它盡可能會(huì )采用一些廉價(jià)的設備。在我剛參加工作之時(shí),我們都會(huì )使用一些小型機,比如惠普、IBM、Sun,一方面它的可靠性,以及性能非常好;而另一方面,它的成本卻很高。而在谷歌、百度、騰訊、阿里巴巴等此類(lèi)互聯(lián)網(wǎng)廠(chǎng)商發(fā)展起來(lái)之后,會(huì )因為為客戶(hù)提供一些免費的服務(wù),而受限于技術(shù),或者受限于成本的約束,使用廉價(jià)的X86的計算機和服務(wù)器,以及廉價(jià)的磁盤(pán)來(lái)提供相對可靠性比較高的服務(wù),對于技術(shù)的選擇需要通過(guò)類(lèi)似智能DNS,或者云服務(wù)呼叫中心所采用的分布式設計來(lái)保證它的可靠性。從技術(shù)角度來(lái)看,這兩者之間的區別在于一方面電信技術(shù)更多地依賴(lài)于底層的技術(shù)來(lái)提高它的可靠性,而互聯(lián)網(wǎng)和云計算更多地依賴(lài)于頂層的業(yè)務(wù)設計和分層設計來(lái)提高性能的可靠性,以及保證業(yè)務(wù)的連續性,甚至在出現某些故障時(shí),做些降級服務(wù)來(lái)保證其基本的服務(wù)是可行的。
      4.您曾經(jīng)提過(guò)“電信技術(shù)和IT技術(shù)的融合”,那怎么理解您說(shuō)的這一點(diǎn)呢?
      張修路:當年我在華為的時(shí)候,更多的是從事電信行業(yè)的發(fā)展,電信業(yè)務(wù)技術(shù)更多地依賴(lài)底層的硬件設計來(lái)提高它的可靠性,而互聯(lián)網(wǎng)和云計算更多的是依賴(lài)于業(yè)務(wù),以及自身系統的設計來(lái)保障它的切換和可靠性。后來(lái),來(lái)到云之訊之后,主要從事語(yǔ)音呼叫中心、短信平臺的系統架構設計。我們的很多客戶(hù),包括京東、58同城、唯品會(huì )、天機等,它們主要從事互聯(lián)網(wǎng)方面的業(yè)務(wù),但在這個(gè)過(guò)程中,為了給客戶(hù)提供更好的服務(wù),便需要將互聯(lián)網(wǎng)業(yè)務(wù)與電話(huà)、短信系統相結合,怎么樣把互聯(lián)網(wǎng)業(yè)務(wù)跟電信云技術(shù)相結合,是他們的一個(gè)需求。我在過(guò)去的十幾年從事電信方面的業(yè)務(wù),最近幾年更多地從事互聯(lián)網(wǎng)業(yè)務(wù),因此能夠較好地理解他們之間的差異,可以給客戶(hù),利用底層的技術(shù)提供一個(gè)更好、更可靠、更穩定的服務(wù),又能夠通過(guò)他的業(yè)務(wù)設計來(lái)保障其在盡可能低成本的情況下提供業(yè)務(wù)的連續性,這樣就能夠較好地服務(wù)我的客戶(hù),這也是我目前技術(shù)工作的重點(diǎn)之一。
      5.您剛才也提到過(guò)扁平化的架構設計,能不能給大家分享一下相關(guān)的經(jīng)驗呢?
      張修路:當我們在進(jìn)行該系統設計的時(shí)候,我剛剛接觸這個(gè)團隊,然后我發(fā)現我的大多數同事對系統架構設計理解不是特別地到位。比如說(shuō),他們會(huì )將每一個(gè)服務(wù),或者每一個(gè)小功能設計成一個(gè)獨立的部署單元,導致多層次的設計。我們的目的在于設計一個(gè)大容量、高并發(fā)、高可靠的系統,為了實(shí)現高并發(fā),每個(gè)系統都要部署一個(gè)機群,會(huì )導致每個(gè)獨立的功能在尋找另外一個(gè)業(yè)務(wù)的時(shí)候總要檢測它的可靠性,這種模式會(huì )帶來(lái)了整個(gè)運營(yíng)成本的提升,而且可靠性難以被提高,任何一個(gè)部件出現故障,都會(huì )導致整個(gè)系統的切換。后來(lái),我們和同事一起分析,將整個(gè)系統盡可能做扁平化的設計,并且我們也成功做到將業(yè)務(wù)與數據相分離,以及業(yè)務(wù)和前端的接入相分離,整個(gè)系統一般會(huì )通過(guò)兩層,第一層首先進(jìn)來(lái)的是客戶(hù)的業(yè)務(wù)請求,通過(guò)LVS或者Nginx之后,做業(yè)務(wù)分發(fā),在業(yè)務(wù)分發(fā)了之后,做到主備或者機群,而且它可以做到主備一旦出現問(wèn)題能夠快速地切換,節點(diǎn)自身的容量也非常大,后面也會(huì )出現更多的對等機群。這些機群,因為業(yè)務(wù)之間完全對等,因此任何一個(gè)節點(diǎn)出現故障便能夠在很短的時(shí)間之內切換到另外一個(gè)節點(diǎn),為了更好地保證業(yè)務(wù)的連續性,我們把該業(yè)務(wù)和該數據邏輯相分離,且將業(yè)務(wù)內存緩沖在類(lèi)似redis這樣的內存數據庫中,將持久化的數據放入主持人MySQL的數據庫集群,將數據扁平化。簡(jiǎn)而言之,將業(yè)務(wù)和數據分離,能夠較好地做到扁平化,并保證其出現故障的第一時(shí)間能夠很好地做切換。
      6.呼叫中心的分布式部署是重要的一部分,那您能跟大家分享一下相關(guān)的經(jīng)驗嗎?
      張修路:好,關(guān)于呼叫中心,第一,我們要做到信令和媒體分離,因為如果我要真正做到完全分布,信令在那種情況下并不容易切換,并且信令在整個(gè)媒體的處理過(guò)程中所占流量比例非常小;第二,整個(gè)信令在接入過(guò)程中,它對網(wǎng)絡(luò )的抖動(dòng)實(shí)驗的敏感度便降低,因此可以將信令做集中部署。比如說(shuō)我們部署在北京,同時(shí)在深圳作為異地的載備節點(diǎn),我們會(huì )把媒體進(jìn)行分布式處理,目前我們在北京、上海、廣州、深圳等幾個(gè)節點(diǎn)進(jìn)行部署,而用戶(hù)則通過(guò)分布式接入的方式載到系統內。如果要想部署一個(gè)真正的分布式系統,首先需要考慮客戶(hù)如何切換,我們是通過(guò)信令來(lái)引導媒體地切換,比如說(shuō),當一個(gè)用戶(hù)注冊的時(shí)候,他會(huì )通過(guò)DNS查詢(xún),注冊到北京的服務(wù)器,北京的服務(wù)器收到請求之后,根據該用戶(hù)所處地理位置和他所在的運營(yíng)商選擇一個(gè)較好的媒體接入節點(diǎn),將它引入到就近的媒體節點(diǎn),通過(guò)呼叫中心的信令協(xié)商,就可較好地完成整個(gè)分布式的部署,即使某個(gè)節點(diǎn)出現故障,也可較快進(jìn)行切換。假設現在在深圳有20個(gè)節點(diǎn),如果其中一個(gè)節點(diǎn)出現了故障,那么我可以在幾秒,甚至更短的時(shí)間之內切換到另外一個(gè)健康的節點(diǎn),既使整個(gè)深圳市的機房出現了故障,我也可以通過(guò)信令來(lái)引導,把它切換到北京或者上海的機房;當信令節點(diǎn)出現故障或者機房?jì)鹊墓收希覀兛梢宰龅阶詣?dòng)切換;如果是整個(gè)機房出現了比較重大的南北互通問(wèn)題,我們就可以把整個(gè)信令通過(guò)DNS引導把它切換到深圳。為了更好地保證業(yè)務(wù)的連續性,減少實(shí)驗抖動(dòng),我們所有的業(yè)務(wù)系統和所有的分布式節點(diǎn)都會(huì )通過(guò)專(zhuān)線(xiàn)來(lái)連接。
      7.云呼叫中心和傳統呼叫中心是有區別的,即業(yè)務(wù)背景,能給大家介紹一下嗎?
      張修路:傳統的呼叫中心往往都是以整個(gè)設備運營(yíng)商為主導,整個(gè)設備的提供商也是些電信設備提供商,類(lèi)似于華為的IPCC,這樣整個(gè)傳統的呼叫中心,它不僅需要客戶(hù)購買(mǎi)一整套(呼叫中心)硬件設備,還需要客戶(hù)自己部署和二次開(kāi)發(fā),因此整個(gè)系統部署周期和上線(xiàn)周期十分漫長(cháng),一般時(shí)長(cháng)為三至六個(gè)月,而一些較大的呼叫中心僅在籌備期都需要三至六個(gè)月,那么整個(gè)系統建設和業(yè)務(wù)完整的提升將近一年時(shí)間。云呼叫中心,結合最近幾年云計算的發(fā)展,我們將一些系統分布式部署于云上,就像我們提供北京、上海、沈陽(yáng)、深圳、廣州的一些節點(diǎn),它們被分布在呼叫中心,那么客戶(hù)便不再需要購買(mǎi)完整的硬件設備,而是直接安裝其客戶(hù)端,甚至可以通過(guò)網(wǎng)頁(yè)直接使用服務(wù)。它的一個(gè)強大優(yōu)點(diǎn)在于(中小型客戶(hù))不需要像過(guò)去一樣建立一個(gè)只可做基本業(yè)務(wù)的小呼叫中心,而可以通過(guò)云呼叫中心進(jìn)行。其主要優(yōu)點(diǎn)有兩個(gè),第一,不需要購買(mǎi)硬件,業(yè)務(wù)可快速上線(xiàn),客戶(hù)可以在更短的時(shí)間,甚至一至兩周內便把業(yè)務(wù)上線(xiàn);第二,即使不購買(mǎi)硬件設備,也可提供一個(gè)較完整的業(yè)務(wù),換言之,盡管他的業(yè)務(wù)代表只有幾十個(gè),但他仍可以使用一個(gè)大型的完整呼叫中心,因為它具有較好的可靠性,過(guò)去當你買(mǎi)了硬件設備之后,他們會(huì )派專(zhuān)門(mén)的運維工程師對整個(gè)系統進(jìn)行運行和維護,但小的公司很難有非常高水平的運維人員,它的業(yè)務(wù)自然連續性便會(huì )受到影響,而我們會(huì )有非常專(zhuān)業(yè)的團隊來(lái)保障業(yè)務(wù)可以真正做到每周7天每天24的運行時(shí)間,即使出現故障,我們也可以做到在多個(gè)分支的節點(diǎn)進(jìn)行切換,而小公司卻不太可能部署此種系統。
      8.業(yè)務(wù)背景肯定會(huì )面臨一些高并發(fā)和高可靠的要求,那么如何同時(shí)去滿(mǎn)足這種要求?
      張修路:我們的系統去部署一個(gè)較大的系統確實(shí)會(huì )帶來(lái)一個(gè)處理很高的并發(fā),比如說(shuō)我們的系統設計要做到一百萬(wàn)的并發(fā),首先要做到高并發(fā)、高可靠。第一,在地域上需要做到分布式,那么在每一個(gè)機房里面需要多個(gè)對等的節點(diǎn),一旦某個(gè)節點(diǎn)出現故障便可自動(dòng)切換,當多個(gè)節點(diǎn)不斷堆疊的時(shí)候,便可達到高并發(fā)要求,但前提是系統架構要能夠支持平滑、橫向的擴容;而橫向的擴容前提是,前面需有一個(gè)接入。其中有著(zhù)專(zhuān)門(mén)做接入的設備,目前我們前端通過(guò)Opensips或者Nginx做接入,它可以支持幾十萬(wàn),甚至上百萬(wàn)的并發(fā),那么在多個(gè)對等的媒體節點(diǎn)之后出現故障也可進(jìn)行切換。如果要想真正做到高可靠、高并發(fā),低成本的系統,不能采用過(guò)去較多使用的同步編程,當一個(gè)用戶(hù)的請求過(guò)來(lái),,即采用且用專(zhuān)門(mén)的線(xiàn)程來(lái)處理該請求,但該過(guò)程偶爾會(huì )出現等待狀態(tài),造成阻塞,一旦形成阻塞,若要想服務(wù)一萬(wàn)個(gè)用戶(hù)便需要提供一萬(wàn)個(gè)線(xiàn)程,導致既使沒(méi)有業(yè)務(wù)進(jìn)來(lái),這一萬(wàn)個(gè)線(xiàn)程之間的相互切換也會(huì )帶來(lái)超大負荷。那么如何解決這個(gè)問(wèn)題?我們采用異步編程,比如說(shuō)異步Servlet、異步Httpclient,或者是J張修路v張修路、C語(yǔ)言,利用各種各樣的異步技術(shù)保證其高并發(fā)性。通過(guò)異步技術(shù)實(shí)現用一個(gè)線(xiàn)程處理幾百個(gè)、甚至上千個(gè)連接,即使整個(gè)系統只有十幾個(gè)或者二十幾個(gè)線(xiàn)程也可處理幾萬(wàn)的并發(fā)。
      9.正如您剛才所說(shuō)的,異步編程對大容量系統具有較大重要性,那么你覺(jué)得它具體會(huì )體現在哪些方面呢?
      張修路:剛才我們所講述的異步編程涉及更多的是一個(gè)完整的業(yè)務(wù)連接,而異步編程也可能體現在具體的模塊之中。在具體的模塊之中,我們也會(huì )要求同事熟悉異步的編程模型,因為大多數同事之前用的是傳統的Servlet技術(shù)或者傳統的請求,比如說(shuō)當它發(fā)送請求之后,對方可能需要三秒鐘才會(huì )響應,這個(gè)時(shí)間它不得不進(jìn)入等待狀態(tài)或者進(jìn)入Sleep狀態(tài),但現在我們讓同事熟悉異步的編程模型,比如C語(yǔ)言,以及異步的編程架構,比如C語(yǔ)言的libevent、libev這樣的架構,Java語(yǔ)言的VERT。X、netty等其它的NIO技術(shù),通過(guò)第三方的模型對它進(jìn)行再重裝,即不斷地教他如何做到一個(gè)線(xiàn)程同時(shí)處理幾百個(gè)或者上千個(gè)請求。在此過(guò)程中,不在于技術(shù)有多么難,而是一種觀(guān)念的挑戰,讓他熟悉,并且真正能夠接受異步編程,一旦我們的同事熟悉、接觸異步編程,并且看到它帶給整個(gè)系統的好處,就更為容易達到目的。整個(gè)系統逐步地架構升級就采用異步編程,既真正地實(shí)現高并發(fā),在出現問(wèn)題又能自動(dòng)切換,實(shí)現高可靠。
      10.剛才我們聊了這么多,也感覺(jué)到您有十多年的工作經(jīng)驗,然后關(guān)注的技術(shù)也是非常豐富的,那您現在關(guān)注于哪些技術(shù)?
      張修路:在去年年底加入云之訊之后,我主要負責語(yǔ)音業(yè)務(wù),尤其是云呼叫中心的技術(shù)架構發(fā)展,同時(shí)也要整合公司的所有業(yè)務(wù)。我們公司目前提供語(yǔ)音、短信、即時(shí)通訊、流量等,且現在較多客戶(hù)需要一套完整的解決方案。比如說(shuō)我需要給客戶(hù)打電話(huà),但客戶(hù)沒(méi)有接聽(tīng)電話(huà),或者接聽(tīng)了之后,對于信息的獲取、了解不是那么深入,這該怎么辦?我們會(huì )再給他發(fā)個(gè)短信,這樣就把短信系統整合進(jìn)來(lái)。現在有些人,他更喜歡使用語(yǔ)音的電話(huà)服務(wù),但另一些人更愿意使用即時(shí)消息,所以我們也提供了一個(gè)即時(shí)消息的解決方案,同時(shí)如果客戶(hù)使用我們服務(wù)的時(shí)候消耗了流量,我們也可以通過(guò)贈送流量的方式提供,相當于我們?yōu)槲覀兊目蛻?hù)提供一個(gè)完整的解決方案,包括語(yǔ)音、短信、即時(shí)消息,以及流量,一體化和一站式的解決方案。
      InfoQ:非常感謝您今天接受我們的采訪(fǎng)。
      個(gè)人簡(jiǎn)介
      張修路,2002年哈爾濱工業(yè)大學(xué)研究生畢業(yè)加入華為公司,工作至2014年,任高級工程師,先后負責多個(gè)產(chǎn)品的系統設計。加入云之訊后,負責IPCC的研發(fā)與系統設計工作。有豐富的電信級產(chǎn)品系統設計經(jīng)驗,熟悉大容量、高并發(fā)和高可靠要求的產(chǎn)品設計。
      QCon是由InfoQ主辦的全球頂級技術(shù)盛會(huì ),每年在倫敦、北京、東京、紐約、圣保羅、杭州、舊金山召開(kāi)。自2007年3月份首次舉辦以來(lái),已經(jīng)有包括傳統制造、金融、電信、互聯(lián)網(wǎng)、航空航天等領(lǐng)域的近萬(wàn)名架構師、項目經(jīng)理、團隊領(lǐng)導者和高級開(kāi)發(fā)人員參加過(guò)QCon大會(huì )。

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 济宁市| 高碑店市| 三原县| 柳州市| 洪洞县| 南充市| 枣强县| 邹平县| 新乐市| 龙海市| 兴安县| 张家港市| 宁津县| 大新县| 靖西县| 梓潼县| 平凉市| 自贡市| 汝城县| 凤阳县| 浮山县| 新宁县| 绍兴县| 裕民县| 甘洛县| 玉龙| 桃江县| 紫阳县| 建昌县| 墨脱县| 林西县| 长汀县| 翁源县| 资兴市| 武胜县| 太保市| 赤城县| 泗水县| 洪泽县| 海淀区| 古浪县| http://444 http://444 http://444 http://444 http://444 http://444