《深入分布式缓存:从原理到实践》
入行20多年來,有了一次不同尋常的嘗試,雖然只是合力出了一本書。
時間回溯到2016年, 最初出于挖人的險惡用心,進入了一個名叫“中生代技術(shù)”的技術(shù)群。本以為和自己加入的諸多技術(shù)群類似,沒想到在這里發(fā)現(xiàn)了一群有趣的人,一群熱愛技術(shù)的人,一群為了一些技術(shù)細節(jié)爭論得面紅耳赤的人。因為公眾號wireless_com的一篇文字《老曹眼中的緩存技術(shù)》,在博客上是《全棧必備 緩存基礎(chǔ)》,右軍找到了我,開啟了本次著書之旅。
感謝互聯(lián)網(wǎng),十個人的跨地域溝通,十個人各自創(chuàng)作,整合,交叉review,使這次眾創(chuàng)成為可能。每個人都是part time,都在消費自己的閑暇時間,都很辛苦的付出。 幾個伙伴都更換了工作,幸運的是,大家都堅持了下來。
神奇的是,我們在眾創(chuàng)著書之前大都素未謀面,自己也是在在后來的SDCC活動中面基了小程和開濤。
其他的伙伴,只能等書籍現(xiàn)售的時候,看看有沒有機會不再神交的可能。這些伙伴有著各自的特點,但都充滿著對技術(shù)的熱情包括我自己,他們是:
于君澤:螞蟻金服高級技術(shù)專家、花名右軍,IT從業(yè)超過十五年。對高并發(fā)、分布式架構(gòu)、內(nèi)建質(zhì)量、研發(fā)管理有一些心得。維護公眾號“技術(shù)瑣話”。
程超:“愛農(nóng)驛站”首席支付技術(shù)專家。InfoQ、中生代技術(shù)社區(qū)簽約作者,CSDN博主專家,Spring for all社區(qū)貢獻者,擅長微服務(wù)和分布式架構(gòu)。
邱碩:螞蟻金服技術(shù)專家,花名牧丘,在阿里和支付寶從事中間件、應(yīng)用系統(tǒng)的性能/穩(wěn)定性技術(shù)風(fēng)險相關(guān)工作。Cobar主要作者。
曹洪偉:70后老碼農(nóng),全棧工匠一枚,服務(wù)過多家世界500強,后連續(xù)創(chuàng)業(yè),現(xiàn)任渡鴉科技CTO,致力于人工智能硬件,維護有“wireless_com ”公眾號 和博客
劉璟宇:拍拍貸資深架構(gòu)師,十余年互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗,主要研究云計算、服務(wù)化基礎(chǔ)框架以及各種基礎(chǔ)組件。
張開濤:京東架構(gòu)師,暢銷書《億級流量網(wǎng)站架構(gòu)核心技術(shù)》作者,維護有“開濤的博客”公眾號。
何濤:網(wǎng)聯(lián)高級架構(gòu)師,對高流量下的架構(gòu)設(shè)計有豐富的實踐經(jīng)驗,熱衷于高可用、高并發(fā)和高性能的架構(gòu)研究。
宋慧慶:勤誠互動研發(fā)總監(jiān)兼高級架構(gòu)師,十年互聯(lián)網(wǎng)廣告行業(yè)經(jīng)驗,主要研究高可用架構(gòu)技術(shù),為流量變現(xiàn)提供更好的服務(wù)。
陳波:新浪微博技術(shù)專家,負責(zé)平臺基礎(chǔ)架構(gòu)及優(yōu)化,經(jīng)歷了微博從起步到成為數(shù)億用戶的大型互聯(lián)網(wǎng)系統(tǒng)的演進過程。
王曉波:同程旅游首席架構(gòu)師,10余年互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗,負責(zé)中間件、微服務(wù)、分布式架構(gòu)、運維、安全等方面工作。
履歷都是過往,完本的時候, 大家寫下了如下的感慨——
我在這部書里,負責(zé)編寫了Tair章節(jié),合作編寫了緩存周邊、動手寫緩存章節(jié),期間閱讀了大量的代碼、整理了非常多的資料,希望能帶給讀者需要的知識。在一年多的時間里,工作之余的大部分時間,都投入到了書的編寫中。在這個過程中,家人給了我極大的支持,這里特別感謝我的太太李春花。一年多的時間里,有因為大促工作量激增,有因為工作變動導(dǎo)致工余時間減少,感謝右軍持續(xù)的鼓勵,感謝一同編寫本書的其他伙伴及時的幫助!
—劉璟宇 拍拍貸資深架構(gòu)師
很幸運,從2009年新浪微博發(fā)展之初就參與微博平臺系統(tǒng)的的研發(fā)及架構(gòu)工作,經(jīng)歷了微博從起步到當前月活用戶數(shù)億的大型互聯(lián)網(wǎng)系統(tǒng)的技術(shù)演進過程。系統(tǒng)演進中經(jīng)歷了很多曲折、困難、不眠之夜,多虧了@TimYang、@zhulei、@liudaoru等那么多良師益友,一路上大家志同道合披荊斬棘,回頭看經(jīng)歷的種種困難卻正好是不斷進步的印記。最后感謝@右軍的邀請和大力組織,感謝@Mis曉曉 的包容和支持,正因為有了你們,我才得以完成相關(guān)內(nèi)容的編寫和完善。
—陳波 新浪微博平臺架構(gòu)技術(shù)專家
從事數(shù)據(jù)訪問層工作期間,會收到很多緩存方面的技術(shù)支持,在支持的同時,對緩存也有了更深入的了解,也促使我思考如何將這些實踐經(jīng)驗分享給更多的人。正好右軍邀請參與本書的寫作,便欣然同意。寫作期間,閱讀了大量的源碼,并和聯(lián)合作者相互交流緩存的原理及實踐經(jīng)驗,力求能夠呈現(xiàn)實用的技術(shù)。本書涉及的分布式緩存體系非常全面,從分布式、Redis、Memcached等原理的剖析到大量的一線實踐案例,并且對分布式緩存應(yīng)用當中的一些痛點、難點進行了深入的闡述。希望本書能夠為想了解緩存技術(shù)的讀者帶來快樂和收益。
—何濤 唯品會架構(gòu)師
承右軍兄邀請,有幸參與本書第11章“Aerospike原理及廣告業(yè)務(wù)應(yīng)用”的編寫。本人雖然在互聯(lián)網(wǎng)廣告行業(yè)摸爬打滾十余年,從廣告網(wǎng)絡(luò)到SSP、DSP,再到蘋果應(yīng)用市場的推廣(ASO,ASM),從PC廣告到移動原生廣告都有所涉及。對于廣告系統(tǒng)架構(gòu)搭建(存儲,計算,緩存)以及系統(tǒng)的高可用較熟悉之外,對于寫書確實是趕鴨子上架頭一回。又由于平時工作繁忙,家里瑣碎事情亦多,幾有放棄之念想,但此事絕非君子所為。若如此辜負右軍兄及其他幾位一同寫書的弟兄,于心不忍,日后亦無顏面對他們。故硬著頭皮,把此章寫完并交付出版社。聽聞此章定稿之后,感覺如釋重負,精神亦有所高漲。當然,能夠堅持下去的另一個重要原因是,其他各位參與編寫本書的弟兄的鞭策和鼓勵。在這里要特別感謝右軍和老曹。由于本人水平有限,還望各位親愛的讀者海涵。
—宋慧慶 勤誠互動高級架構(gòu)師
首先非常感謝右軍兄邀請我加入寫作團隊,我主要負責(zé)第3章、第4章,同此參與合作編寫了第6章。雖然我自己經(jīng)常寫一些博客文章,但是寫書和寫博客是完全不一樣的過程,寫書是要能夠帶領(lǐng)讀者逐步深入學(xué)習(xí),而不是簡單地將知識點羅列出來。在這個過程中非常感謝右軍和孫海亮對我進行認真的指導(dǎo),讓我的寫作水平有了非常大的提高。當我第一篇稿子定稿的時候,我內(nèi)心的成就感是很難用言語來表達的。由于本書的寫作時間周期比較長,在中途的過程中由于工作繁忙,我也曾經(jīng)有退出的想法,右軍和曹哥給了我巨大的鼓勵,讓我學(xué)會了堅持,同時我的妻子和我的父母也給了我巨大的支持,讓我能夠?qū)W會與團隊協(xié)作。對于我來講這本書對我的意義已經(jīng)超過內(nèi)容本身的范疇,我也希望通過這本書能夠給我的孩子樹立一個貴在堅持和勇于嘗試的榜樣。最后由于本人寫作水平有限,還請各位讀者朋友海涵和包容。
—程超 愛農(nóng)驛站首席支付技術(shù)專家
Web應(yīng)用相對于傳統(tǒng)的軟件,在服務(wù)的吞吐量方面有更高的要求,也是其面臨的主要難點之一。對于無狀態(tài)的應(yīng)用服務(wù),日益增加的吞吐量最終轉(zhuǎn)化成存儲層的壓力,使得后者既要解決數(shù)據(jù)一致性問題,又要考慮性能和吞吐量,成為Web應(yīng)用性能的關(guān)鍵,因此已有的文檔和書籍主要聚焦在它的優(yōu)化上。
而緩存作為應(yīng)用服務(wù)節(jié)點和持久化存儲節(jié)點間的輔助層,分擔(dān)著后者的吞吐量需求,好的緩存設(shè)計可以極大地降低存儲層的容量風(fēng)險。本書從緩存的原理、實現(xiàn)到緩存在不同場景的實施方案給出系統(tǒng)化的介紹,為“好的緩存設(shè)計”提供了指導(dǎo)。因此在受邀參與本書編寫時,既感到榮幸,又感到意義重大。
好的寫作依賴于熱情和投入,而書籍的編寫又需要長時間的毅力和堅持,這讓本書的編寫像是一段長跑里需要不斷沖刺,也讓這份“意義重大”既是之于內(nèi)容本身,也是之于作者的自我提升。感謝本書主筆于君澤的堅持,也感謝其他每一位作者的投入,他們鞭策著我在此領(lǐng)域?qū)W習(xí)和思考。限于自己的水平,謹希望所編寫的章節(jié)能為讀者們帶來一點幫助。內(nèi)容有欠缺之處,也希望讀者批評指教,以此驅(qū)動這個領(lǐng)域的應(yīng)用和實踐持續(xù)演進。
—邱碩 螞蟻金服技術(shù)專家
作為一個70后的老碼農(nóng),一個半吊子全棧工匠,在中生代技術(shù)(freshman Technology)社區(qū)有幸認識了很多志同道合的技術(shù)人。因為自己在公眾號(wireless_com)上的一篇關(guān)于緩存基礎(chǔ)的隨筆而結(jié)識了@右軍,進而參與了本書的創(chuàng)作。在如今用戶體驗至上的時代,性能成為系統(tǒng)設(shè)計中的一種核心約束,在性能提升的各種技術(shù)手段中,緩存為王。隨著技術(shù)的演進,緩存同樣與時俱進。參與編寫的過程是一個對經(jīng)驗梳理的過程,同時也是一個人提升的過程,尤其是和各位作者的切磋,獲益匪淺。每一位作者都犧牲了大量的閑暇時間,為本書的出版付出了巨大的努力。我感謝自己的妻兒,感謝家人對自己的支持,希望這本書能夠不負眾望。
—曹洪偉 渡鴉科技CTO
2014年加入京東后,負責(zé)重新設(shè)計詳情頁架構(gòu),它是一個讀服務(wù),從前端瀏覽器到后端存儲無處不用緩存,在實戰(zhàn)中通過運用大量緩存技術(shù)提升性能、解決棘手問題,比如618期間有人來刷你的接口,簡單上個緩存,會起到很大的保護作用,而且效果非常好。在運用緩存時有許多需要注意的地方,比如緩存一致性是否需要強一致;價格庫存數(shù)據(jù)能否緩存,緩存多久;緩存分布算法是使用一致性哈希還是取模算法;熱點數(shù)據(jù)怎么處理;緩存崩潰與快速恢復(fù)等等。要用好緩存并不是那么容易的,希望讀者看完本書后能學(xué)到一招半式并應(yīng)用到實戰(zhàn)中。
—張開濤 京東架構(gòu)師
緩存在整個高并發(fā)架構(gòu)設(shè)計中是重中之重的關(guān)鍵一筆,所以用好緩存是每次架構(gòu)設(shè)計的必經(jīng)之路。感謝右軍邀請我參與本書。我在本書中介紹了同程旅游的鳳凰緩存系統(tǒng)(phoenix)是如何云化管理同程全部的緩存集群,并治理各應(yīng)用中的緩存使用的。也講述了一些我們?yōu)楹我_發(fā)phoenix來解決緩存問題的坑事。回首這些坑事,歷歷在目。各種困難、各種痛苦伴隨著鳳凰緩存系統(tǒng)從構(gòu)想到多個版本的更新上線。希望本書能夠給踩到同樣坑事的讀者帶來幫助和快樂。
—王曉波 同程旅游首席架構(gòu)師?
這里就不再復(fù)制右軍的那篇《為了初心的紀念》了,這些伙伴的文字都能在書中看到。
同時,感謝各位同道的大力提攜——
????????本書圍繞分布式緩存的基礎(chǔ)概念、開源框架、應(yīng)用案例三方面進行講解,從理論到實戰(zhàn),循序漸進,深入淺出。看完部分章節(jié)后,意猶未盡,欲罷不能。國內(nèi)基于真實應(yīng)用案例的好書太少了,君澤以及他的朋友們做到了這一點,十分期待這本書能早日上市。
—黃勇特贊科技CTO、《架構(gòu)探險》作者
分布式緩存,是任何一個互聯(lián)網(wǎng)公司在成長過程中都會面臨的技術(shù)難題。本書作者結(jié)合理論研究和長期的互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗,深入淺出地介紹了分布式系統(tǒng)理論和分布式緩存實戰(zhàn),給業(yè)界以借鑒和啟發(fā)。本書是作者們的用心之作。
—朱攀德比軟件架構(gòu)師
緩存是軟件性能優(yōu)化的大殺器,分布式緩存是網(wǎng)站架構(gòu)的必殺技,玩轉(zhuǎn)緩存就玩轉(zhuǎn)了網(wǎng)站架構(gòu)的半邊天。遺憾的是,目前市面上專門講述分布式緩存的書籍不多,幸運的是本書就是一本這方面的專著。本書所有作者都是多年工作在網(wǎng)站架構(gòu)一線的老司機,值得信賴,故將本書推薦給大家。
—李智慧《大型網(wǎng)站技術(shù)架構(gòu):核心原理與案例分析》作者?
從十幾年前的Ehcache到最近幾年流行的Redis,從CDN、瀏覽器、API Gateway到后端微服務(wù),以及數(shù)據(jù)訪問層的二級緩存,緩存無處不在。在體驗為王、唯快不破的時代,分布式緩存是關(guān)鍵。本書從理論到實踐,詳細剖析了分布式緩存的實現(xiàn)原理以及應(yīng)用案例,是一本接地氣的好書。
—李林鋒華為PaaS平臺架構(gòu)師、公司總裁技術(shù)創(chuàng)新獎獲得者
隨著現(xiàn)代應(yīng)用對速度的要求越來越高,對緩存機制的使用也越來越常見、越來越頻繁。本書以緩存機制的基本原理為開始,逐漸過渡至緩存系統(tǒng)的組建以及使用上面,全書分析和講解了多個緩存系統(tǒng),并列舉了緩存的各種使用場景。如果你正準備構(gòu)建自己的緩存系統(tǒng),又或者你想進一步學(xué)習(xí)更多與緩存有關(guān)的知識,那么這本書將是你不容錯過的一本書。
—黃健宏《Redis設(shè)計與實現(xiàn)》作者
在計算機的世界里,不論硬件層面還是軟件層面,緩存都被廣泛應(yīng)用于解決處理響應(yīng)慢的瓶頸。我們在構(gòu)建微服務(wù)架構(gòu)系統(tǒng)的時候也一樣,緩存是提升性能的關(guān)鍵技術(shù)手段。然而,緩存在不同場景下的應(yīng)用各有不同,要想用對緩存、用好緩存并不容易。本書針對不同的緩存類型、實現(xiàn)手段、算法策略做了非常細致的講解,所以我推薦開發(fā)者和架構(gòu)師們通過本書來對緩存做一次全面的學(xué)習(xí),這有助于更好地使用緩存來優(yōu)化我們的系統(tǒng)性能。
—翟永超《Spring Cloud微服務(wù)實戰(zhàn)》作者
不同的存儲介質(zhì),讀寫性能有很大的差異,價格亦是如此,性能越好的介質(zhì),價格就越高。把最常訪問的數(shù)據(jù)放在讀寫性能最好的設(shè)備上,達到成本和性能的均衡,這便誕生了緩存。本書的幾位作者都是大型分布式環(huán)境下歷練出來的沙場老將,豐富的經(jīng)驗和翔實的案例,對于互聯(lián)網(wǎng)行業(yè)的技術(shù)人員來說,頗有裨益。
—陳康賢《大型分布式網(wǎng)站架構(gòu)設(shè)計與實踐》 作者、阿里巴巴技術(shù)專家?
如今的軟件系統(tǒng),已經(jīng)成為分布式系統(tǒng)的天下。分布式的語境對系統(tǒng)的設(shè)計與開發(fā)提出了完全不一樣的挑戰(zhàn),作為提升性能的關(guān)鍵要素—緩存,自然也不例外。在緩存的命中、更新與失效,以及數(shù)據(jù)一致性保障等諸多方面,分布式緩存應(yīng)用的復(fù)雜度可能是按指數(shù)級增加的,許多問題都是我們在單機應(yīng)用上無法涉獵的。倘若沒有分布式系統(tǒng)設(shè)計的實戰(zhàn)經(jīng)驗,面對分布式緩存的諸多問題,我們將束手無策。求助于網(wǎng)絡(luò)?講解緩存知識的文章是片鱗半爪,未成體系,故而無法窺其全部。本書的幾位作者都經(jīng)歷過大型軟件系統(tǒng)的深度洗禮,書中內(nèi)容都來自他們的一線實戰(zhàn)。閱讀本書,讀者就能站在他們的肩膀上看得更遠,實在是幸運!
—張逸民航信息技術(shù)架構(gòu)師、 《恰如其分的軟件架構(gòu)》譯者
緩存是當前互聯(lián)網(wǎng)的基石,極大彌補了關(guān)系型數(shù)據(jù)庫的天然缺陷。緩存技術(shù)也是每一個架構(gòu)師的必修課,從最初的Memcached,到Redis及各種擴展架構(gòu),發(fā)展至今已經(jīng)有些百花齊放的感覺。本書難得地進行了全面梳理,并附以在電商、社交、廣告等典型場景下的大型應(yīng)用。你值得擁有。
—蕭田國高效運維社區(qū)發(fā)起人、DevOpsDays中國聯(lián)合發(fā)起人
緩存是互聯(lián)網(wǎng)架構(gòu)中最關(guān)鍵的環(huán)節(jié),本書作者在緩存的性能及高可用方面有豐富的經(jīng)驗,很高興看到他們通過本書分享了多年的實踐精華。?
—楊衛(wèi)華微博研發(fā)副總經(jīng)理
. 互聯(lián)網(wǎng)高性能系統(tǒng)設(shè)計的核心之一就是緩存系統(tǒng)的設(shè)計。本書集合了緩存理論、開源緩存系統(tǒng)、大規(guī)模業(yè)務(wù)中緩存的具體實踐,全方位解讀了分布式緩存設(shè)計,既能夠幫助讀者深入理解分布式緩存系統(tǒng),又提供了很好的架構(gòu)設(shè)計案例供參考,細細品讀,受益良多!
—李運華阿里游戲資深技術(shù)專家、 《面向?qū)ο罂▽毜洹纷髡?/span>
正如Raven H 那樣,這本書還沒有現(xiàn)貨,現(xiàn)在可以預(yù)售了:http://product.china-pub.com/7017945#ml
還有 京東的預(yù)售地址:https://item.jd.com/12276070.html
回歸標題,當技術(shù)成為一種情懷,就一起來把情懷變成鉛字吧,就像序言中寫到的,為了初心的紀念。
總結(jié)
以上是生活随笔為你收集整理的《深入分布式缓存:从原理到实践》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学完C再学C++(6)继承类
- 下一篇: 转贴:放心走吧,谷歌中国——谷歌员工所写