天天看點

海信聚好看矯恒浩:建構異地雙活混合雲,利用公共雲應對流量突增

引言

2021年10月22日,在雲栖大會的《一雲多形态部署最佳實踐》分論壇,海信旗下的聚好看科技雲原生團隊負責人矯恒浩,發表了主題為“聚好看雲上雙活架構,驅動OTT使用者價值提升”的演講,為大家分享了聚好看科技在異地雙活、混合雲落地過程中的經驗。

以下為矯恒浩演講精華内容。

海信聚好看矯恒浩:建構異地雙活混合雲,利用公共雲應對流量突增

圖:聚好看科技雲原生團隊負責人矯恒浩

聚好看科技成立于2016年,是海信旗下的家庭網際網路科技公司,主營業務為網際網路電視等智能終端雲平台及智能應用的技術研發與營運,我們有六大資料中心。聚好看科技也是OTT行業裡面的首家科技獨角獸企業,持續為家庭使用者提供場景化的智慧生活服務。我們企業的願景是緻力于成為一流的家庭網際網路科技公司。

01 私有雲同城雙活架構

面臨的三大挑戰

2016年以前,聚好看業務主要是部署在本地IDC,機房在北京,為使用者提供網際網路電視的雲服務;2016年,公司建構了同城雙活的基礎設施,初步具備了同城容災的能力;2017年,公司開始自研基于容器和K8s技術的雲原生的平台,我們内部項目名稱是JuCloud;2018年,我們用了一年時間把最核心的1000多個微服務遷移到了雲原生平台之上,階段性地實作了雲原生的轉型。

雲原生落地之後,海信聚好看的運維效率提升了10倍以上,大大解放了運維小夥伴的生産力,版本疊代節奏基本上由之前的1-2個月提升到了1-2周。

但我們發現,原先私有雲同城雙活架構的方式,不能夠應對業務的發展和業務規模的提升,我們面臨着如下三大挑戰:

海信聚好看矯恒浩:建構異地雙活混合雲,利用公共雲應對流量突增

1. 無法應對城市級災難:私有雲同城雙活的架構沒有辦法應對城市級的災難,當發生大面積的停電,或者營運商大面積斷網,同城雙活是沒有辦法很好應對的。

2. 使用者覆寫非常有限:同城雙活的兩個資料中心都坐落在北京,覆寫面積是非常的有限。大家都知道,我們國家幅員遼闊,海信電視的使用者又遍布全國各個省份,一些距離北京比較遙遠的省份的通路時延略高,尤其是一些小營運商使用者,通路的成功率略低一些,一定程度上影響這些使用者的體驗。

3. 很難應對流量的突增:針對網際網路電視的使用者,尤其是國内電視使用者每年的春節都有收看央視春晚的習慣,這個時候會給我們電視雲端系統帶來非常大的流量的沖擊。每年基本上除夕流量高峰期大概是平時高峰期的5倍,也包括國慶閱兵,基本是平時流量的3倍。顯然我們不可能在私有雲機房準備等量的伺服器來承載突增的流量。隻能說,通過我們的研發團隊用一些軟體技術的手段來應對,但研發團隊為此付出了非常大的人力成本。

02 建構異地雙活混合雲

利用公共雲彈性應對激增流量

2018年,海信聚好看開始構思通過異地雙活混合雲的方式來解決上述的這些挑戰。基于此,提出了如下的技術目标:

1. 兩個機房能夠部署在兩個有一定距離的資料中心,而且是以混合雲的方式部署,第二個機房是公有雲機房,通過這樣異地雙活的部署方式,就可以應對城市級的故障。

2. 兩個機房能夠對使用者提供就近通路的能力,提升一部分使用者的使用體驗。

3. 借助公有雲強大的快速彈性伸縮的能力,來應對流量的沖擊。

海信聚好看矯恒浩:建構異地雙活混合雲,利用公共雲應對流量突增
最終,我們建構了異地雙活混合雲架構,在本地IDC私有雲中,分為了五層:

  1. 路由層,電視的流量進入到我們全局的負載均衡,就近路由到兩個機房,當然網關側進行流量的糾正;
  2. 業務層,因為在2018年已經實作了雲原生的轉型,是以業務全部以容器的方式部署,原則是業務的容器執行個體API調用必須在本地機房完成調用的閉環,因為跨機房調用會有時延的增加;
  3. 緩存層和資料層,希望做到遠端資料高速同步;
  4. 平台層,是聚好看自研的JuCloud雲原生的平台,它具備多雲管理、多雲協同的能力,借此通過在PaaS層的能力屏蔽公有雲和私有雲異構資料中心的差異。

03 兩大經驗

兩級彈性伸縮+就近通路

兩級彈性伸縮,成本下降20%

聚好看使用者絕大多數都是電視的使用者,下圖是一天的0-24點流量的變化,基本上從深夜開始到第二天的上午8、9點,流量其實非常低。但在每天中午,以及晚19:30-20:00左右的時間段會迎來流量高峰。

海信聚好看矯恒浩:建構異地雙活混合雲,利用公共雲應對流量突增

圖:聚好看業務流量周期性變化(1天)

我們提出來這樣一個目标:4分鐘擴容1000容器執行個體,這樣一來對我們ECS的要求,就是需要在1分鐘以内擴容100台高規格的虛拟機,加入到底層的K8s的叢集。

經過實測,阿裡雲的ECS服務可以做到40秒之内擴容100台高規格的虛拟機,很好支撐了這樣一個技術目标的達成。最後,經過我們實測驗證,我們在3分鐘左右就能夠完成1000個容器執行個體的擴容就緒,包括健康檢查的通過,能夠對外提供我們的業務。借助阿裡雲ECS的彈性能力,實作了我們降成本。

海信聚好看矯恒浩:建構異地雙活混合雲,利用公共雲應對流量突增

剛剛講到,我們是一個自研的PaaS層,我們PaaS和IaaS構成了兩級的彈性伸縮,使得我們做到了ECS成本下降了20%,但是我們覺得這樣還是仍然不夠,我們正在建構基于機器學習的時序資料預測的能力,希望通過對線上1000多個微服務在過去一段時間流量變化的學習,能夠預測流量在未來10分鐘、半個小時、1個小時之内的變化,能夠用小步快跑的方式來實作容量的伸和縮。

GSLB雙機房就近路由提升體驗

因為海信電視使用者遍布全國,為了更好的服務全國各地使用者,我們要求雙活路由層必須具備就近通路的能力,是以我們研發了基于HTTP-DNS的GSLB全局負載均衡器,GSLB自身也是異地多雲部署,GSLB的解析能力嵌入到了電視終端SDK中,當電視終端解析域名時,優先通過GSLB完成域名解析,這樣一來,我們相當于在DNS層面具備了靈活的、可以基于業務進行自定義的機房排程的能力,我們把北方一些省份的使用者切入到我們的北京私有雲,南方一些省份的使用者切入到阿裡雲,最細力度可以實作地級市的排程,實作就近通路。

當然也可以基于業務進行切流,比如,我們想把某個地區的匿名使用者,某個電視機型使用者切入到特定機房,傳統DNS是很難做到這一點的。而且GSLB上線後也順便解決了我們DNS劫持的問題。

04 未來2-3年之内,核心業務

完全遷移到公共雲

整個異地雙活混合雲架構落地之後,将會有三個收益。

  1. 做到單機房的故障能夠快速的進行切換,以保障我們的使用者的體驗。
  2. 基于地理位置路由,讓使用者就近通路。
  3. 借助ECS強大的彈性伸縮的能力,來應對流量的變化。

我們希望能夠在未來基于智能預測的方式,可以做更激進的彈性伸縮的政策,同時建構異地多活的平台,借助阿裡雲多Region的能力,在全國部署更多的資料中心,給使用者提供更彈性的服務。在未來2-3年之内,将聚好看的核心業務完全遷移到公有雲上。

PS:福利時間到——2021雲上架構與運維峰會将于11月6日在北京舉辦,點選

我要報名

,了解峰會詳情,免費領取門票哦~

繼續閱讀