孫東風:如何基于云及Docker一鍵式架構億萬級系統
原創【51CTO.com原創稿件】在WOT2016移動互聯網技術峰會上,來自萬達飛凡網C端研發部總經理孫東風, 同與會者分享了他基于云及Docker一鍵式架構億萬級系統的一些經驗。
打造SaaS級平臺解決方案
孫東風表示,目前整個開發環境越來越復雜,包括緩存、數據庫、服務,以及服務的注冊、灰色發布,但從整個計算機的發展歷史上可以看到,從早期面向系統演變成面向后端Java、面向對象,整體開發環境的需求變得越來越好。“萬達飛凡網嘗試基于Docker做一些通用組件,把常規服務做封裝,這樣可以面向業務提供一些通用的專門組件。”
他最終的想法是通過大量大用戶量級產品的實戰經驗,濃縮出SaaS級的互聯網解決方案,并通過MicroService的方式,對每一個模塊實現”插拔式”的部署,使得所有功能可以進行熱插拔,包括服務路由、服務容錯、服務調用、服務注冊、服務發布、服務灰色發布、流量控制、服務降級、服務監控。
整體技術架構分享
孫東風告訴與會者,正因為開發環境越來越復雜,技術選型也變得越來越復雜,所以萬達飛凡網采用的技術架構的目的是為了讓整個開發環境,包括整個系統更加標準化,操作簡單。
隨之孫東風介紹了目前萬達飛凡網的技術架構,
緩存系統,通過緩存系統,可以快速擴容緩存,并大幅度提供系統擴展性、可靠性。
分布式文件系統,提供高性能分布式文件系統,并提供ImageMagic模塊自由對文件進行剪裁、縮放、旋轉并存儲。孫東風告訴記者,現在很多云平臺已經開始提供這些功能,例如阿里云。“從應用開發角度而言,這樣的系統更多是方便技術人員實現構建標準化,對底層可做更多開發,利于后續發展。”
分布式消息系統,孫東風表示他們最終選用了kafka分布式消息隊列,把大多數”數據弱一致性”的耗時操作轉化成并發操作,并可以對操作進行***緩存,提高服務器負載能力和容錯能力。kafka對強一致性操作的處理也比較好。
服務注冊和發現,這部分主要內容是快速進行服務升級、服務注冊、服務發現、服務降級。孫東風認為,不僅是ZooKeeper,只是一個基礎組件功能,可以建一些秘密空間,包括對服務的地址進行保存、動態配置化。
孫東風表示,之前更多是服務、SOV、關注注冊、控制方面的開發,而Docker的出現將對未來開發方式帶來很大改變, 目前萬達飛凡網對Docker的使用也在不斷嘗試過程中,技術團隊推出的Docker Reigstry私有倉庫,就是將服務和運行環境推到私有docker-registry中。
智能化的Docker 集群管理
演講的***,孫東風分享了Docker 集群管理Kubernetes。他透露他們對整個Docker管理十分智能化,Kubernetes以RESTFul形式開放接口,用戶可操作的REST對象有三個:
一是pod是kubernetes最基本的部署調度單元,如果對一些基本業務做Service,每個Kubernetes對會業務碰撞,可以把放到pod里面,在進行擴展時,***個是自動化,第二個是很容易進行擴容縮容,比如雙十一這個時間節點流量壓力將增加十倍,但是雙十一過去之后整個流量壓力就不會那么大,擴容縮容特別容易,尤其是通過復制replicationController,是智能化解決pod擴容縮容的組件;
二是service是pod的路由代理對象,解決pod之間的服務發現問題;
三是replicationController解決pod的擴容縮容問題。
“從功能特性角度可以看到Docker 集群管理Kubernetes對于整個資源調度,包括部署啟動、運行監控、服務發現、錯誤處理、擴容縮容都非常智能化,非常感謝谷歌提供了這樣一個組件。”孫東風談到。
從我個人角度,將來可能會對整個軟件開發行業有一個很大的影響。這次講得比較快,主要是和大家分享一下,我是想把開發流程更加簡單化,把常用的解決方案和大家做分享,每一塊都是一個很大的共同點。補充一下,Docker集群管理除了Kubernetes之外,還有其他一些工具,Docker是谷歌開源的,并且對整個Docker管理是很智能化的,從功能來講也是很強大的,特別是在數量特別大的時候。
本文由孫東風于2016年8月,在WOT2016移動互聯網技術峰會性能專場《基于云及Docker一鍵式架構億萬級系》主題演講整理而成。WOT2016大數據峰會將于2016年11月25-26日在北京粵財JW萬豪酒店召開,屆時,數十位大數據領域一線專家、數據技術先行者將齊聚現場,在圍繞機器學習、實時計算、系統架構、NoSQL技術實踐等前沿技術話題展開深度交流和溝通探討的同時,分享大數據領域***實踐和最熱門的行業應用。了解WOT2016大數據技術峰會更多信息,請登陸大會官網:http://wot.51cto.com/2016bigdata/
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】