
王偉傑
《從程序員到架構師:大數據量、緩存、高併發、微服務、多團隊協同等核心場景實戰》分爲數據持久化層場景實戰、緩存層場景實戰、基於常見組件的微服務場景實戰、微服務進階場景實戰和開發運維場景實戰5個部分,基於對十餘個架構搭建與改造項目的經驗總結,介紹了大數據量、緩存、高併發、微服務、多團隊協同等核心場景下的架構設計常見問題及其通用技術方案,包含冷熱分離、查詢分離、分表分庫、秒殺架構、註冊發現、熔斷、限流、微服務等具體需求下的技術選型、技術原理、技術應用、技術要點等內容,將技術講解與實際場景相結合,內容豐富,實戰性強,易於閱讀。 《從程序員到架構師:大數據量、緩存、高併發、微服務、多團隊協同等核心場景實戰》適合計劃轉型架構師的程序員及希望提升架構設計能力的IT從業人員閱讀。
跳着讀了一部分,整體上還是認爲值得一讀的。 這本書的最大特點就是包含作者的項目實操經驗,作者通過提問的方式引導讀者去進一步思考當前方案的不足,雖然作者給出的很多解決方案並不是完美方案,但是更多時候體現出來的是在項目進度和性能設計之間的"取捨",相比其他教科書式的系統設計,這本書讓人能更加真實的體驗工作中的應用場景。 當然這本書也不是那麼完美,作者對於很多知識點都是淺嘗輒止,不夠深入。但是這本書對我最大的啓發其實不在於到底講了哪些內容,而是在回顧自己的工作經歷時能不能做到像作者一樣,從項目經歷中歸納出不同的知識點,對各個經歷過的項目都列出方案的演進過程。 所以這裏我也給自己留一個清單: - 嘗試把自己過往的工作經歷,按照作者的方式寫成博客。 - 嘗試對書中作者的方案進行優化,並討論取捨。
本書最大的特點就是,基於場景式的講架構。場景 或 上下文,是加強理解關鍵因素。 本書一共介紹了 16種 架構經歷: 存儲方面: 有如下 冷熱分離,讀寫分離,分庫分表,緩存架構。 綜合類系統架構設計: 數據(日誌)收集架構,秒殺系統設計。這裏有的是綜合運用存儲方面的一些工具,有些是綜合性的考慮。 引入微服務: 註冊發現、鏈路追蹤日誌,熔斷 和 限流, 數據同步(一致性和分佈式緩存方面的問題) API 模式: BFF 設計模式 本地開發:搭建隔離的開發測試環境,提高研發開發的效率。 在面對每個具體問題的時候,要搞清楚,什麼是關鍵的問題點。始終要有這樣的觀念: 選擇合適,而不是技術最優的。 深入理解 並 仔細把玩 書中提到的 16種架構經歷,並應用到工作場景中,可以成爲一個 麪霸型的架構。 但如何成爲不可或缺的人: 解決領導的技術難題,理解領導的非技術問題,搞清楚領導的期望。總結起來,做下屬要起支撐作用。 本書值得把裏面的場景拿出來,反覆思考。
這本書的標題應該是小編提供參考的吧?從程序員到架構師是很多程序員的巨大門檻,用這個標題當然是會吸引讀者。但並不是作者說的看了案例就成爲架構師。全書前部分說的是作者在公司遇到的幾個案例,性能問題,冷熱數據問題,祕殺方案。踏入微服務歷程就講微服務演進,痛點,講了微服務的幾個相關組件。全部是粗粗略略。最後一筆帶過測試,運維。在作者技術選型時列出的比較方式比較細緻,值得參考。全書只能說是方案+微服務簡單講解。最後我覺得從程序員到架構師的前提條件是技術,方案,能力,責任。但最重要的東西是認可,老闆,其他開發人員認可你的能力,信任你的方案,對你的倚重纔是作爲架構師的最大因素。
作者確實是實打實從一線出來的架構師。每種架構,不說多高端,但很務實。並且都是根據實際情況去選擇,並給出選擇的理由。而對大多數公司,因爲組件都已經統一了,所以根本就不會思考到底選擇什麼。 另外,現在都接入雲了,基礎設施搭建的場景也越來越少作者說的一大堆架構可能都已經不用我們自己再思考了。 但還是可以好好借鑑思路,站在巨人的肩膀上
雖然主要是以Java爲主,雖然大佬都沒有說是用什麼版本的組件(包括Java),雖然有時候緊急上線都功能,雖然比較保守,又缺乏安全設計,但上了就上,沒後續思考優化了,感覺唯手熟爾,老碼農熬成婆婆了。爲什麼國外的資本主義國家有辣麼多開源項目,我們國內一些大廠開源的項目卻經常爛尾?還是不明白爲什麼國內的資本不如國外的吸血鬼?
面試京東的時候問的很多問題在這本書中可以找到答案。 估計京東主要是做的訂單系統,這本書也主要是從訂單系統這個案例開始講了很多相關的技術。 估計很多互聯網app最終目的就是賺錢也就是開訂單,所以訂單系統是非常重要又不可或缺的。
沒看完全部,跳着看了這本書 本書偏向基於場景講案例的解決思路和解決過程,沒有深入的說某一個組件怎麼樣【定位】 裏面講到的場景都很實際,是日常很可能碰到的 ,整個解決過程很有參考價值 推薦的閱讀方式:快速的閱讀一遍,看思路和方案,留有映象,日後碰到類似問題再仔細看
雖然有的評論說寫得一般,就是個人經歷,而且有些淺之類的。 但是這本書對我而言,確實是難得的好書,一本書涵蓋了多年的經驗總結。但是,沒有脫離實際變成難以理解的理論方法論,而是一個個具體案例,遇到問題分析問題解決問題,提前在腦海中經歷了一輪輪的架構演練。 有些經驗是可以被提前獲得的,我覺得這本書就是讓你在還未實際遇到問題的時候,已經預備了一套問題的備選答案。
如果是經歷豐富的技術人員,本書可能沒什麼幫助。如果是普通的程序員,十分建議閱讀。至於成爲架構師,可能僅閱讀本書還不夠。本書分享的是各種場景下遇到的問題的解決過程,沒有關於架構設計方面的理論闡述,作者告訴你的是遇到了什麼問題,有哪些方案,各方案優缺點以及事後覆盤等一系列過程。這也是我建議普通技術人員看的原因,因爲限於客觀條件,很多人都沒機會接觸到特別挑戰的項目。而通過本書,可以針對具體問題去了解到那些適配的“高大上”的方案/中間件等。 而對於期望習得架構師思想的人來說,本書每一項案例的思考過程也是很有幫助的。有價值的職業成長過程無外乎經歷豐富,並在每一次經歷中有思考。本書中的思考過程我認爲就十分值得參考。 僅僅這一本是不夠的,建議還可以讀一讀諸如《架構整潔之道》這樣的理論性書籍,高屋建瓴的理論指導可能是更有效的。
整本書讀下來,對文中的分佈式鎖、查詢分離、限流、熔斷與降級、微服務這些內容印象比較深刻。把日常開發過程中應用分佈式鎖時需要考慮的場景都講到了。查詢分離本質上是讀寫分離的一種,只是查詢的不一定是關係型數據庫,有可能是HBase、ES等等。限流與熔斷部分的內容則讓我對什麼是熔斷與降級有了更清晰的理解。有助於在日常工作中的使用。微服務部分講了優點和缺點,其實微服務的優點大家都知道,但是缺點其實真正理解的人不多,作者講了很多微服務使用過程中的陷阱,讓人印象深刻。 貫穿整本書的寫作思路:從業務場景開始-> 抽象需求->設計方案->效果評估。其中深刻理解業務場景是最重要的,一切的需求和方案都必須圍繞業務來實現。只有理解業務需求,才能做出好的方案,另外任何方案都不是十全十美的,方案有優點也會有缺陷,在設計的時候就必須全面考量,綜合評估才能得到一個儘可能的最優解。