閱文集團帥翔:從0到1落地分布式存儲系統架構
【編者按】每個人的成長曲線不同,有的人在研究生之時就已有相當知名的產品和框架,從而在接下來的工作中一路順風順水,有的人缺需要經歷一個又一個的坑才能成長,不管是前者的聰明高效,還是後者的笨鳥先飛,他們都是在邁著腳步不斷地向前。不妨,我們停下腳步看下一些同行,以激勵自己更好地前行。
2017年6月10-11日,SDCC 2017將在創新之都深圳火熱開啟。據悉,閱文集團內容平台中心存儲系統架構師將在SDCC 2017·深圳站之互聯網應用架構實戰峰會帶來題為《PB級去內存化分布式緩存系統Lest的架構設計與實踐》的分享,更多峰會嘉賓和議題請識別圖中二維碼。
以下為專訪正文:
【嘉賓】帥翔,畢業於上海大學計算機專業,目前就職於閱文集團內容中心,主要負責分布式文件系統的研發工作。關注分布式系統、數據存儲、網路編程、Linux系統,機器學習等相關領域。
CSDN:請先和大家介紹下您和目前所從事的工作,以及關注哪些技術領域?
帥翔:目前就職於閱文內容中心,主要負責分布式存儲系統的研發工作,目前我們正在研發一款分布式的緩存系統,主要用於解決當前基於redis的緩存系統需要佔用大量內存的問題,這是一個有趣的項目。我當前主要關注分布式系統,數據存儲,網路編程等相關技術領域,當前非常火熱的機器學習,數據挖掘等領域也有所關注,大數據存儲技術的發展是推動當前人工智慧技術不斷前進的動力之一。
CSDN:一路走來,在技術的路上有什麼特別的學習趣事分享?同時,您也可以談談自己的學習方法等。
帥翔:應該說我是一個幸運的人,畢業後的第一份工作就能跟隨業內前輩參與到分布式存儲系統的研發當中。不得不說,分布式存儲系統的研發是非常具有挑戰性的,不僅要求研發人員需要跟進了解最新的研究成果,還需要有紮實的網路編程,操作系統,數據結構等基本功。從當初只會Hello World的應屆小白,到如今實現第一個分布式的去內存化緩存系統,當中需要耐得住寂寞,不斷的看書,看文章,當然更離不開前輩的鞭策和引導,哈哈。
CSDN:一提起「分布式系統」,大家的第一感覺就是好高大上啊,深不可測,能分享下你眼中的分布式系統是怎樣的?
帥翔:分布式是一個概念,是分散的,低耦合的,靈活的,甚至是非同步的,但是都有一個共同的目的,它的相對概念是集中式。從這個角度來講,我們只要把原本集中的大功能體分解成小的能獨立運轉的行動單元,並且這些單元之間能相互配合,來完成某一功能。我們日常的生活中的有很多分布式系統,公共交通系統、分布式能源系統(電網系統)、軍隊系統,大到以我們人為單元的人類社會系統,小到小朋友喜歡的樂高積木,這些都是分布式系統,只是體現的形式不同罷了。以軍隊系統為例,一隻訓練有素的軍隊,能夠統一協調,相互支援,動態擴充來完成特定的作戰任務。而且這一切對人民來講是透明的,他們只需要知道戰爭的結果。從分布式系統的角度來說,各個節點之間需要保證負載均衡,數據同步以及容災。同時分布式系統可以靈活的擴展,和裁撤節點資源。從用戶的角度來講,分布式系統後面的一切操作都是透明的,他們只關心他們的操作是成功還是失敗。
CSDN:分布式系統有哪些優勢以及會面臨怎樣的挑戰?
帥翔:在傳統軟體行業,如銀行業,金融保險業,往往都使用一些穩定性高,高度集成的信息系統,但是這些系統往往兼容性差,不容易擴展,而且需要通過機器的質量來保證系統的可靠性,所以銀行,金融保險都喜歡用高性能的,高質量的昂貴機器。而在很多互聯網企業中,機器的成本總是一個難以忽略的因素,因此需要採用大量的廉價機器來提供服務,因此,對我們來說,機器是不可靠的,我們需要通過系統來保證可靠性。同時,互聯網的服務請求有可能會呈現井噴性的增長,這樣就需要互聯網企業提供性能可擴展的服務,能過隨著機器的增加而提高系統的吞吐量。
在這些條件的限制下,分布式系統在互聯網生態中的優勢不言而喻,組織靈活,擴展方便,容錯性強,而且可以利用廉價機器,降低成本,保證企業的競爭力。然而凡是分布式系統也並非十全十美,它仍然逃不出CAP的宿命,就看你是選擇Availability還是選擇Consistency。保證可用性,就是更佳考慮用戶的感受,需要在用戶可以忍受的一定時間內返回結果,可以成功,也可以失敗,至少讓用戶知道你還活著,但它往往需要在一致性上做出妥協,因為分布式節點之間的溝通也需要時間,如果在短時間內就要返回結果,那麼節點之間的一致性就很難得到保證;相反如果要保證一致性,就需要在可用性上做出讓步,那就需要等分布式節點之間溝通完成之後,才能向用戶返回結果,而期間可能會花費大量的時間,讓用戶等地不耐煩。選擇可用性的有亞馬遜家的Dynamo、FaceBook家的Cassandra等。保證一致性的有Google家的BigTable,以及MongoDB等。當然還有一些折衷的選擇方案,如最終一致性,它既考慮了用戶感受可以在短時間內返回結果,又可以保證數據的最終狀態,在一些實時性要求不苛刻的系統中已經得到廣泛應用。如DNS系統就是一個很好的例子。
CSDN:分布式系統的架構體系很龐大,包括傳統的基於對象的體系結構、SOA,也包括最近比較火的RESTful風格架構、微服務、容器技術、Serverless架構等,這一塊您研究比較深的是?有哪些心得和體會可分享?
帥翔:其實SOA、RESTful、微服務、Serverless之類的架構,從架構來說,都差不多,早期使用SOA,以及後來的微服務還是無服務,都是為了從遠程獲取服務,只是方法和粒度上發生了變化,表現的越來越輕量,更加傾向於分布式,去中心化。不能說微服務,無服務這是都是新出來的技術概念,就很高端,每個架構都有合適它的業務,如果業務在發展的初期一些很簡單的集中式架構就能很好的滿足需求,隨著業務的不斷增長,可能需要SOA這些RPC框架來提供分布式服務,再到後期,可以抽取其中的核心服務,構成微服務,有針對性的來提高性能,加強系統的穩定性,由於服務之間是獨立存在的,方便升級維護。
服務架構的發展
我們現在主要通過Restful框架來提供介面服務,目前看來,穩定性,效率,都還不錯,介面開發方便,而且各個介面服務之間相互獨立,互不影響,有效的強化了業務系統的穩定性。
CSDN:分布式監控方面常用的技術,也包括Nagios、Zabbix、Consul、ZooKeeper等,在監控方面有什麼心得?
帥翔:在分布式系統中,如果保證各個節點之間協同工作非常重要,Zookeeper、Chubby等就是在系統中充當這樣一個統籌全局的角色,保證系統中的各個節點有條不紊的完成任務。在我們的分布式緩存系統Lest中也有一個類似的角色——Lax,Lest可以根據key來Lax獲取當前的最新ID,它用於保證各Lest節點間版本的一致性。Lax本身也是分布式的,因此它的性能和可靠性可以得到保證。Lax強調的是一致性,因此嚴格意義上來說,它是一個CP系統。不過我們通過NWR策略來改善了它的可用性。
CSDN:本次在SDCC 2017·深圳站上分享的主要內容是?會給受眾帶來什麼?
帥翔:本次SDCC大會上,我將會跟大家分享我們團隊最近研發的一個有趣的分布式緩存系統。如今市面上比較流行的緩存系統,如Redis等都是基於內存的,因此在做全量緩存時需要耗費大量內存。我們在保證基本性能需求的情況下,開發了一款去內存的分布式緩存系統,畢竟目前內存比磁碟要貴的多。
※6位AI技術大咖分享研發經驗
※Hacker曾經知曉的那些事
※MapD開源了一款支持多GPU的資料庫
TAG:CSDN |
※協鑫集團10萬噸鋰電池材料及儲能系統項目落地徐州,總投資100億元
※8億大單落地!珠海航展:中國向俄採購20架安薩特、6架米-171
※8億大單落地!珠海航展:中國向俄採購20架安薩特6架米171
※總投資138億元 26個集成電路項目落地安徽
※總投資138億元的26個集成電路項目落地安徽
※億歐智庫重磅發布:2019中國AI商業落地系列榜單
※虛擬幣交易系統開發:2018年將見證區塊鏈技術應用落地
※暢呼吸智能落地式加濕器發布:1999元
※將落地式音箱搬上桌面 惠威M300到站開箱圖賞
※從兒科醫生集團到落地線下診所,「小蘋果兒科」獲5000萬元B輪投資
※41輪談判 年產110億顆濾波器晶元項目落地綿陽
※聚焦物聯網、人工智慧、存儲晶元,48億元投資落地南京江北
※紫光雲落戶天津共120億元投資 推動公有雲服務戰略落地
※總投資 240 億!惠科第 8.6 代液晶面板項目落地綿陽
※萬向集團:2000億投資項目未落地 上市公司業績下滑
※鎚子科技 暢呼吸智能落地式加濕器發布:1999元
※鎚子科技發布9L落地式加濕器,定價1999元
※甲骨文雲戰略強調「3+1」核心優勢 中國資料庫終將落地
※緬甸10月1日起落地簽
※總投資16億元半導體硅晶棒項目落地銀川