從Netflix的混世猴子談一線架構師的漫長技術棧規劃
京東在架構設計上有稱之為「did」的原則,用來在業務快速擴張階段中避免架構設計滯後或超前於發展趨勢,即:
design 20 倍體量
implement 3 倍的體量
deploy 1.5 倍的體量
這裡的體量結合非功能要求來說,可以是吞吐量、存儲容量等。要貫徹這個原則,需要對業務量的發展有預判,對系統處理能力有評估,對設計方案有評審,對資源申請有審核,對線上資源利用率有監督。
除了體量之外,還有先進性跟蹤的問題,架構設計上如果過於超前,對於技術開發人員要求較高,往往需要專業的團隊,這樣成本會有相應的增加。如果技術開發人員的水平跟不上的話,就會影響業務的變化。
因此隨著業務迅速迭代,一個企業會儘快實施服務化,將一個大問題陸續分解為一個個小問題。這個架構實踐周期依企業開發團隊的效率而定,一般從幾個月到數年不等,此過程對一個企業技術團隊的慎重,可謂為「漫長技術棧規劃」,不可輕易改變。那麼現在一線互聯網企業的架構師都在進行怎樣的漫長規劃呢?當規模的問題解決之後,又有什麼創新技術可以幫助業務快速增長呢?
Netflix
首先談談微服務楷模 Netflix,它 100% 的雲上架構以及他的混世猴子軍團均以超前於這個時代聞名。
Netflix 目前正廣泛地使用 AWS Lambda 這類 FaaS(函數即服務)來構建 Serverless 應用。FaaS 的關鍵特徵是:事件驅動、細粒度調用、實時彈性伸縮,無需管理伺服器等底層資源。然而使用 FaaS 對 Netflix 來說是有代價的,FaaS 對於延遲要求不嚴格的應用 (latency insensitive tasks) 效果顯著,但對一些諸如延遲要求、可靠性以及彈性要求高的複雜應用而言,仍顯得過於超前。
如果你是 Netflix 的架構師,你會是漸進過渡到 FaaS 平台還是直接進行微服務改寫?現在 Netflix 的 FaaS 平台又是如何構建的?如何避免上述的問題發生?
Netflix 首席軟體工程師 Yunong Xiao,目前正在帶領 Netflix API Platform 的架構設計,他將帶著大家的疑問以及在 Netflix 的先進經驗,在ArchSummit 全球架構師峰會深圳站上與大家進一步交流。
接下來談談 Facebook,截止至 2017 年 12 月,Facebook 每日活躍用戶人數平均值達到 14 億人,覆蓋全球 130 多個國家,除了人和人之間的關係,你是否感興趣 Facebook 如何處理海量用戶的空間信息?
Facebook 這方面的技術亮點是海量數據 Geo 資料庫的索引結構、查詢優化、數倉建模。相信對國內研究資料庫和數倉的,尤其對 Geo 資料庫 & 數倉的企業應該會非常感興趣。關於地理位置數據,包括軌跡追蹤,定向圈人,做 Geo 相關研究,Facebook 在全球至少在前三。
具體涉及哪方面的內容和挑戰呢?大規模空間數據除了在規模上的挑戰以外,還有一些獨特的問題需要解決:例如經緯度,直線距離和弧面距離的區別,以及同樣的經緯度差在兩極和赤道的面積差等。
這些特性既是挑戰也是性能優化上的機遇。隨著越來越多的移動設備,物聯網設備產生海量的時空數據,如何有效存儲,檢索,實時的 k-nearest 查詢,關聯性排序,如何高效的解決在離線大規模空間數據分析中常用到的 Spatial Join 都是 Facebook 要解決的問題。
Facebook Location Infrastructure 團隊處理大規模時空數據過程中,在內部技術和開源技術之間採取了折中而務實的辦法。
此次ArchSummit 深圳站同樣邀請了 Facebook GeoAPI 組技術領導賓理涵前來分享經過驗證的、在處理每天萬億級混合複雜操作的時空數據背後的多個設計決策和架構選型內容(包括在線和面向分析的用戶案例)。
你可知 Google 的 Android 應用商店、廣告排名等業務均應用上了基於深度神經網路的推薦系統?
隨著電子商務和在線服務越來越普及,海量在線資源很多時候多到讓用戶無從選擇,因此推薦系統的質量變得至關重要。傳統的線性回歸方法在很多系統里應用廣泛,只不過隨著深度神經網路在圖像視覺領域的突破,很多研究人員開始利用神經網路搭建深度推薦系統,推薦質量顯著超越傳統基於線性回歸系統,同時也簡化了以往搭建推薦系統所需專家知識 (domain knowledge)。
深度推薦系統已經被廣泛應用於 Google 多項面向用戶的產品,一次又一次的突破質量瓶頸。具體的實踐過程可簡單概括如下:
信號類別分類
場景信號 (context signal):當前場景相關的信息
用戶信號 (user feature, user signal):用戶特徵,用戶歷史信息,
物件信號 (item signal, item features):排序模型物件的特徵
兩步定製化推薦
深度挖掘,生成候選人列表 (deep retrieval, candidate generation)
混合人工生成的候選人,最終排序 (ranking)
選擇模型訓練模式
離線,根據系統日誌 (適用於大系統,海量用戶)
在線,強化學習(小量用戶,快速迭代)
user vector, item vector (swivel model)
預生成的用戶向量降低推斷延時
超大規模物件向量的學習(稀疏問題)
損失函數的構造 (loss function)
上述的構建細節與 Google 最新的技術發展,Google 研究院的推薦系統負責人 Dekun Zou 將同樣在ArchSummit 深圳站上有所分享。除推薦系統之外,Zou 老師還會在現場額外分享《TensorFlow 在深度學習中的應用》,敬請期待。
自動駕駛
自動駕駛是一個龐大而且複雜的工程,涉及軟硬體諸多更新,從 Google 2009 年開始研究自動駕駛開始到現在,在能買到的量產車裡,目前應該仍是Tesla Autopilot 系統自動駕駛程度最高,然而也僅僅停留在「輔助轉向」,還不能稱為「自動駕駛」,但自動駕駛未來肯定是機器學習的集大成者,有廣泛的市場和應用前景。
ArchSummit 深圳站邀請了前 Tesla 深度學習負責人、Autopilot 系統團隊核心成員徐雷前來分享《自動駕駛中的計算機視覺技術》。
攝像頭作為性價比非常高的感測器,在自動駕駛系統中起到了非常關鍵的作用,如何高效穩定的利用攝像頭完成環境感知任務,是極具挑戰的工作。通過以攝像頭為主的基於計算機視覺的方案,一套低價格,高性能的自動駕駛系統可以大幅度提高用戶對安全性的需求。
同時,隨著機器學習的應用,尤其是卷積神經網路最近有了長足的進步,在一定程度上都促進了計算機視覺技術在自動駕駛領域的落地。此次徐雷會向大家分享計算機視覺的關鍵技術研究內容,並向外界展示多個基於深度學習的障礙物檢測、識別跟蹤等多個領域的產品 demo。
區塊鏈
最後談談區塊鏈,3 月 7 日比特幣的全球黑天鵝事件,讓大家開始對與之相關的技術譬如區塊鏈等產生懷疑。
區塊鏈的數字加密技術是基於點對點互聯網開源協議形成的個人隱私加密。目前很多公司在宣傳通過區塊鏈技術來對所有信息施行單向密碼機制,加密過程不可逆,且每一段數據信息上都會有一個時間戳。想隨意侵犯用戶隱私和篡改用戶信息都相當困難。可是,所有區塊鏈真的有那麼安全么?區塊鏈實際用途範圍到底有多廣泛呢?
區塊鏈的安全話題不僅涉及黑客和盜竊,還有貨幣供應量、交易審查抵制等等,可以看出區塊鏈目前作為新興的技術仍有太多的落地考驗,以及需要時間與案例的證明。
ArchSummit 深圳站邀請了 Wyre 的技術專家 Neil Woodfine,他將會詳細介紹區塊鏈安全的核心概念,包括其中所隱藏的一些安全漏洞,同時也會通過數字貨幣案例分析,幫助大家在區塊鏈技術應用過程中避免撞牆踩坑。
最後
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※AI工程師應聘要具備哪些能力?
※2017互聯網技術人薪資報告,你搬的磚夠繞地球幾圈?
TAG:InfoQ |