本人免費整理了Java高級資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高併發分散式等教程,一共30G,需要自己領取。傳送門:https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ 前 ...
本人免費整理了Java高級資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高併發分散式等教程,一共30G,需要自己領取。
傳送門:https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ
前言
“微服務”架構在這幾年被廣泛傳播,變得非常火熱,以至於關於微服務架構相關的開源框架和工具都變得越來越活躍,比如: Netlix OSS、Dubbo、Apache Thrift等。Spring Cloud也因為Spring社區在企業應用領域的廣泛知名度和強大影響力,受到了廣大架構師與開發者的高度關註。
內容簡介
分散式架構與微服務平臺是當今IT界的關鍵技術,也是資深軟體工程師和系統架構師必須掌握的核心技術。本書以從傳統分散式架構遷移到基於容器技術的微服務架構為主線,全面、透徹地介紹了與分散式架構及微服務相關的知識和技術。本書-開始並沒有提及分散式的枯燥理論,而是講述了一段精彩的IT發展史,其中重點講述了大型機、UNIX 小機器的沒落與X86平臺的崛起,從而巧妙地引出CPU、記憶體、網路、存儲的分散式演進過程,這恰恰是分散式軟體系統賴以運行的“物質基礎”。然後簡明扼要地介紹了進行系統架構所必需的網路基礎,並詳細介紹了分散式系統中的經典理論、設計套路及RPC通信,對記憶體、SOA架構、分散式存儲、分散式計算等進行了深度解析,最後詳細介紹了全文檢索與消息隊列中間件,以及微服務架構所涉及的重點內容。本書是Leader-us多年架構經驗的傾情分享,主要面向關註分散式架構及微服務,以及有志於成為實力派架構師的IT人士。
第1章 大話分散式系統:分散式世界是一個很複雜的世界,任何技術都不是孤立的存在,任何技術都無法適應所有場景。作為一名分散式系統架構師或資深研發人員,你必須儘可能多地學習與之相關的各種知識,掌握各種技術的演進路線,從一名編程狂人逐漸升級為一名博學的IT專家,實踐與理論並行、代碼與頁碼齊飛,唯有如此,你才能更好地成就未來。
第2章 “知識木桶”中的短板—— 網路基礎:分散式系統從誕生髮展到現在已經走過幾十個年頭了,其中伴隨著-些很重要的基礎理論, 正是這些影響深遠的基礎理論,奠定了分散式系統的堅實基礎,造就了分散式領域的一座座巨集偉大廈。為了練就一身武功,讓我們從這些經典的分散式理論開始學起吧。
第3章 分散式系統的經典基礎理論:分散式系統從誕生髮展到現在已經走過幾十個年頭了,其中伴隨著一些很重 要的基礎理論,正是這些影響深遠的基礎理論,奠定了分散式系統的堅實基礎,造就了分散式領域的一座座巨集偉大廈。為了練就一身武功,讓我們從這些經典的分散式理論開始學起吧。
第4章 聊聊RPC:每個分散式系統都離不開多進程的通信問題,包括本機上多進程之間的IPC通信和基於網路的遠程通信技術,後者是分散式系統架構中的核心和關鍵基礎技術之一,就遠程通信而言,拋開各種專用系統的遠程通信協議如NFS. FTP、 SNMP. SMTP. POP3 不說,各種通用的遠程通信技術也在不斷發展變化,比如從最古老的RPC遠程通信技術到曾經風靡一時的SOAP(Web Service)協議,再到後面紅極一時的HTTP REST.如今,由於移動互聯網和大數據時代
的興起,支持多語言與高性能傳輸的各種RPC框架再次成為熱點技術。
第5章 深入淺析記憶體:除了CPU,記憶體大概是最重要的計算資源了。基本成為分散式系統標配的緩存中間件、高性能的數據處理系統及當前流行的大數據平臺,都離不開對電腦記憶體的深入理解與巧妙使用。在本章中我們將探索這個讓人感到熟悉又複雜的領域。
第6章 深入解析分散式存儲:分散式文件系統一直以來都是大型分散式系統中最重要的基礎設施之一,Hadoop 里最重要的技術不是MapReduce,而是HDFS.除了HDFS,Spark還可以與老牌的分散式文件系統GlusterFS結合使用,而OpenStack里最重要.能獨立運營並且能賺錢的子系統是分散式對象存儲系統Swif.當今火熱的Docker及Kubernetes 容器技術依然需要分散式文件系統來實現批量處理任務中的共用存儲問題,更不用說無數電商系統都需要一個分散式文件系統來存儲海量的照片。因此,掌握分散式存儲相關的知識和技能,對於一名分散式系統架構師來說很重要。
第7章 聊聊分散式計算:不管是網路、記憶體還是存儲的分散式,它們的最終目標都是實現計算的分散式:數據在各個電腦節點上流動,同時各個計算節點都能以某種方式訪問共用數據,最終分散式計算後的輸出結果被持久化存儲和輸出。分散式計算作為分散式系統里最重要的一個能力和目標,也是大數據系統的關鍵技術之一。經過多年的發展與演進,目前業界已經存在很多成熟的分散式計算相關的開源編程框架和平臺供我們選擇。作為架構師,我們應該儘可能地瞭解和掌握這些框架與平臺。
第8章 全文檢索與消息隊列中間件:在前面的章節中,我們學習了構建一個分散式系統所必需的各種基本知識和技能,比如分散式系統的基礎理論、網路編程技術、RPC框架、記憶體計算、分散式文件系統、分散式計算框架等,但僅僅掌握這些內容還是遠遠不夠的,我們還需要學習和掌握分散式系統中常月的-些中間件,這些中間件主要用於分散式系統中常見的一些業務場景:數據全文檢索、日誌和消息處理、資料庫的分片、網站的負載均衡等。由於篇幅有限,本章只對全文檢索與消息隊列這兩個用途廣泛又相對複雜的中間件進行全面介紹。
第9章 微服務架構:微服務架構是當前很熱門的一個概念,它不是憑空產生的,是技術發展的必然結果。微服務架構也不是一個縹緲、空洞的術語,它的核心理念與架構原則是實實在在的,雖然微服務架構沒有公認的技術標準和規範草案,但業界已經有-些很有影響力的開源微服務架構平臺,架構師”可以根據公司的技術實力並結合項目的特點來選擇某個合適的微服務架構平臺,以此穩妥地實施項目的微服務化改造或開發進程。