千萬融資與聯(lián)合國接見 移動社交Blued背后技術支持
2012年Blued上線,正值移動社交火爆之時,由于Blued極具中國同志特色,大大填補了國內這一垂直領域的空白,很快贏得了大量用戶的青睞,上線以來一直維持著用戶量、在線時長的穩(wěn)定高速增長。從誕生至今,Blued很快經歷了十萬、百萬、千萬的訪問級別,從最早的Web到數(shù)據(jù)庫的簡單架構,快速成長為集群化高可用架構,這正是Blued和UCloud工程技術團隊聯(lián)手打造的成功。
Blued是一款基于地理定位的交友程序,與國外流行的Grindr和Jack'd類似。大約70%用戶每月至少登錄一次Blued,1/4用戶每天都會登錄。2014年,Blued的團隊已經擴張至 30人而Blued注冊用戶已超過200萬人,并于2014年2月獲得了千萬元融資。
初創(chuàng)團隊各種人才都是緊缺的,所有研發(fā)力量都必須用在刀刃上,解決方案必須盡可能簡單可靠,還要保證在用戶高速增長過程中保持足夠的靈活性、穩(wěn)定性和服務質量。而對于初創(chuàng)團隊,由于初期服務容量很小,難得有運維人才加入;但當面臨高速增長時,缺乏運維人才帶來的技術瓶頸對工程技術團隊來是也是最煎熬的。
“云平臺服務所提供的解決方案凝結了大量優(yōu)秀運維人才的長期經驗,這無疑對于我們這種初創(chuàng)團隊來說幫助是巨大的。將底層的難題統(tǒng)一交給更專業(yè)的人,是云服務能夠如此便捷的最重要原因之一。那么及時有效快速響應就顯得必不可少。UCloud為Blued專門建立了7x24小時的服務小組,任何時候都能提供及時的咨詢響應。不僅如此,在遇到一些緊急問題的時候,也能非常及時地主動通知我們,提前做好相應的預案。”Blued CTO Calvin 這樣向我們闡述道。
目前Blued有數(shù)十臺云主機,完全基于UCloud底層服務搭建起具備高可用性的服務架構——而到目前為之,Blued團隊依然只有3位服務端工程師,包攬了服務端開發(fā)、運維在內的一切工作。
看看Blued是如何做到的。
1.如何為“三高”產品快速搭建穩(wěn)定底層架構?
Blued是高訪問量、高數(shù)據(jù)流、高交互性質的“三高”產品,因此需要堅固穩(wěn)定的集群底層進行維護和支撐,不能容忍單點故障。因此,我們一開始就選定了CPU密集型、大內存、高I/O三類主機配置;我們的集群并不是一開始就擁有數(shù)十臺云主機來搭建底層集群,這樣對我們的成本壓力很大,因此一個快速擴容的彈性架構非常重要。如何做到快速?我們把每一類服務都做好鏡像,可以通過實現(xiàn)制作好的鏡像快速在集群中添加服務器,實現(xiàn)分鐘級的服務擴容;此外,通過鏡像功能,集群中單主機服務故障時可以也可以快速新增節(jié)點替換故障節(jié)點;
事實上,Blued在初期確實經歷過服務單點不可橫向擴展的階段,那時最快的解決辦法是升級主機配置,UHost主機的CPU、內存、磁盤擴容非常簡單快捷,幾乎感覺不到服務中斷。
2.如何讓網絡層擁有“靈活”性?
對國內移動應用開發(fā)者來說,移動服務與傳統(tǒng)互聯(lián)網的最大不同就是網絡運營商的變化,以及由此帶來的訪問速度問題。我們選擇了BGP機房,經過實地測試,2G/3G網絡下的訪問速度相比傳統(tǒng)雙線機房提升近20%;靈活設置的防火墻省去了逐臺配置IPTables的繁瑣,運維效率大大提升了;大量內容帶來的帶寬上升,Blued啟用“共享帶寬”通過疊加“帶寬包”實現(xiàn)帶寬的靈活快速擴容。
3. 如何用簡單的方法解決“安全、可靠”問題?
Blued在使用“共享帶寬”后,所有服務器外網IP都轉為彈性IP(EIP),我們使用了3個Nginx節(jié)點進行后端服務的流量接入和負載均衡,通過EIP綁定Nginx接入節(jié)點,可以做到無需調整DNS即可更換出現(xiàn)故障的接入主機。此外EIP接入對靈活應對網絡攻擊非常有幫助,譬如遇到部分用戶無法訪問某一IP的情況(如網絡封禁等),可以先換IP再做追查;高可用性也可以通過EIP來實現(xiàn),譬如單臺服務故障,可以先新建服務重新綁定EIP,實現(xiàn)服務快速恢復,接下來再查問題。Blued同時也使用了內網彈性IP,作為內部分布式隊列的快速切換方案。
3.怎樣的方案能解決“高數(shù)據(jù)流”的問題?
Blued將關鍵的核心數(shù)據(jù)運行在UDB,數(shù)據(jù)庫集群,快速增加從庫,快速升級配置,可視化操作實現(xiàn)從庫提升主庫;而UMem構成的NoSQL存儲支持大部分Redis協(xié)議的方案使得我們可以利用Redis高效的數(shù)據(jù)結構存儲的同時,還節(jié)省了運維成本;
此外,高性能I/O磁盤對高速用戶增長帶來了大量的新增圖片上傳非常有用。通常,每個用戶每次刷新會查看20-40張縮略圖,如此頻繁的訪問,使得磁盤I/O非常容易成為瓶頸,因此針對圖片這種頻繁讀寫小文件的應用場景,高性能I/O磁盤對于整體性能幫助非常大。
云平臺帶來的還有更多
“透過靈活使用云平臺服務,我們真正實現(xiàn)了網絡層、前端服務層、后端服務、存儲都能夠靈活可插拔、可擴展,實現(xiàn)真正的高可用性。對于創(chuàng)業(yè)者來說,成本是很重要的考慮因素。創(chuàng)業(yè)者不僅要關注采購、人力所產生的實際成本,也需要關注服務運維、技術研究、問題解決等帶來的附加時間精力成本,而后者往往是隱形的、難以衡量、代價高昂的。降低隱形技術成本的關鍵因素,是選擇經過實踐檢驗的解決方案。我們在發(fā)展過程中考慮過眾多時下新技術,但最終卻是一個簡單的選擇——UCloud服務所具備的高度可運維性和優(yōu)質的服務,在和阿里云和騰訊云的比較重中“獨樹一幟”,這是我們所看中的。”Blued Calvin