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

聚好看科技成立于2016年,是海信旗下的家庭互聯網科技公司,主營業務為互聯網電視等智能終端云平臺及智能應用的技術研發與運營,我們有六大資料中心,聚好看科技也是OTT行業里面的首家科技獨角獸企業,持續為家庭用戶提供場景化的智慧生活服務,我們企業的愿景是致力于成為一流的家庭互聯網科技公司,
01 私有云同城雙活架構面臨的三大挑戰
2016年以前,聚好看業務主要是部署在本地IDC,機房在北京,為用戶提供互聯網電視的云服務;2016年,公司構建了同城雙活的基礎設施,初步具備了同城容災的能力;2017年,公司開始自研基于容器和K8s技術的云原生的平臺,我們內部專案名稱是JuCloud;2018年,我們用了一年時間把最核心的1000多個微服務遷移到了云原生平臺之上,階段性地實作了云原生的轉型,
云原生落地之后,海信聚好看的運維效率提升了10倍以上,大大解放了運維小伙伴的生產力,版本迭代節奏基本上由之前的1-2個月提升到了1-2周,
但我們發現,原先私有云同城雙活架構的方式,不能夠應對業務的發展和業務規模的提升,我們面臨著如下三大挑戰:

-
無法應對城市級災難:私有云同城雙活的架構沒有辦法應對城市級的災難,當發生大面積的停電,或者運營商大面積斷網,同城雙活是沒有辦法很好應對的,
-
用戶覆寫非常有限:同城雙活的兩個資料中心都坐落在北京,覆寫面積是非常的有限,大家都知道,我們國家幅員遼闊,海信電視的用戶又遍布全國各個省份,一些距離北京比較遙遠的省份的訪問時延略高,尤其是一些小運營商用戶,訪問的成功率略低一些,一定程度上影響這些用戶的體驗,
-
很難應對流量的突增:針對互聯網電視的用戶,尤其是國內電視用戶每年的春節都有收看央視春晚的習慣,這個時候會給我們電視云端系統帶來非常大的流量的沖擊,每年基本上除夕流量高峰期大概是平時高峰期的5倍,也包括國慶閱兵,基本是平時流量的3倍,顯然我們不可能在私有云機房準備等量的服務器來承載突增的流量,只能說,通過我們的研發團隊用一些軟體技術的手段來應對,但研發團隊為此付出了非常大的人力成本,
02 構建異地雙活混合云,利用公共云彈性應對激增流量
2018年,海信聚好看開始構思通過異地雙活混合云的方式來解決上述的這些挑戰,基于此,提出了如下的技術目標:
-
兩個機房能夠部署在兩個有一定距離的資料中心,而且是以混合云的方式部署,第二個機房是公有云機房,通過這樣異地雙活的部署方式,就可以應對城市級的故障,
-
兩個機房能夠對用戶提供就近訪問的能力,提升一部分用戶的使用體驗,
-
借助公有云強大的快速彈性伸縮的能力,來應對流量的沖擊,

最終,我們構建了異地雙活混合云架構,在本地IDC私有云中,分為了五層:
-
路由層,電視的流量進入到我們全域的負載均衡,就近路由到兩個機房,當然網關側進行流量的糾正;
-
業務層,因為在2018年已經實作了云原生的轉型,所以業務全部以容器的方式部署,原則是業務的容器實體API呼叫必須在本地機房完成呼叫的倍訓,因為跨機房呼叫會有時延的增加;
-
快取層和資料層,希望做到遠程資料高速同步;
-
平臺層,是聚好看自研的JuCloud云原生的平臺,它具備多云管理、多云協同的能力,借此通過在PaaS層的能力屏蔽公有云和私有云異構資料中心的差異,
03 兩大經驗:兩級彈性伸縮+就近訪問
兩級彈性伸縮,成本下降20%
聚好看用戶絕大多數都是電視的用戶,下圖是一天的0-24點流量的變化,基本上從深夜開始到第二天的上午8、9點,流量其實非常低,但在每天中午,以及晚19:30-20:00左右的時間段會迎來流量高峰,

我們提出來這樣一個目標: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年之內,核心業務完全遷移到公共云
整個異地雙活混合云架構落地之后,將會有三個收益,
-
做到單機房的故障能夠快速的進行切換,以保障我們的用戶的體驗,
-
基于地理位置路由,讓用戶就近訪問,
-
借助ECS強大的彈性伸縮的能力,來應對流量的變化,
我們希望能夠在未來基于智能預測的方式,可以做更激進的彈性伸縮的策略,同時構建異地多活的平臺,借助阿里云多Region的能力,在全國部署更多的資料中心,給用戶提供更彈性的服務,在未來2-3年之內,將聚好看的核心業務完全遷移到公有云上,
PS:福利時間到——2021云上架構與運維峰會將于11月6日在北京舉辦,點擊我要報名,了解峰會詳情,免費領取門票哦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/341735.html
標籤:其他
