在寫這本書之前,我先後在兩家杭州的“獨角獸”公司擔任技術負責人,並負責推進公司核心業務的“中臺化”改造。在落地業務中臺和技術中臺的過程中,我督促並指導開發人員統一使用Spring Cloud a作為中臺服務最底層的基礎框架。為了快速推進業務服務Spring Cloud
a化的進度,我衝在業務的第一線,收集和整理開發人員在使用Spring Cloua過程中反饋的技術問題,並提供有效的技術解決方案,直至項目落地。
我每周都會做技術復盤,通過分析大量的問題總結出一個結論:開發人員反饋的問題大部分都是由於Spring Cloud a使用不合理所造成的。也就是說,很多開發人員並不了解Spring Clouda的原理及如何落地實踐。於是,我就產生了把我這幾年落地Spring Cloa的經驗通過圖書的方式輸出的想法。
★★1. 本書特色
本書聚焦於Spring Cloud微服務架構實戰,全面分析了基於Spring Cloud ba的微服務架構全棧技術原理。本書有如下特色:
(1)技術新。
Spring Cloud a是一個將Spring Cloud“阿裡巴巴化”的微服務架構框架,它具備Spring Cloud 所有的能力,並添加了Nacos、Dubbo、RocketMQ等 Spring Cloud不具備的微服務架構能力。簡單來說就是:搭建微服務架構,使用Spring Cloud a比使用Spring Cloud 更高效,更簡單,開發的技術成本更低。
本書中所有代碼采用目前的)來編寫,與Spring Cloud 相關的微服務技術(Seata、RocketMQ等)也采用的是目前的穩定版本。
(2)精心設計的主線:零基礎入門,循序漸進,直至項目實戰。
本書精心研究了程序類、架構類知識的認知規律,全書總共分為五個部分:入門篇、基礎篇、中級篇、高級篇及項目實戰篇,設計了一條相對科學的主線“它是什麼→怎麼搭建基礎開發環境→怎麼進行單項技術開發→怎麼完成一個完整的項目”,讓讀者快速從“菜鳥”向微服務架構實戰高手邁進。
(3)不隻介紹Spri框架本身,而是微服務架構全棧技術。
有的同類書隻介紹Spring 框架本身,假定讀者對支微服務架構相關技術(比如Seata、Skywalking、Redis、RocketMQ等)是了解的。這樣就會存在一個問題——為了學會微服務技術,得找Spring Cloa的書、Seata的書、RocketMQ的書……而這恰恰是難點所在——怎樣將它們平滑地銜接起來學習。
本書是以“實現完整的Spring Cloudba微服務架構”為目標,為了這個目標,除介紹Spring Cloud a這個“主角”外,對於支撐Spring Cl微服務架構的技術(比如Seata、Skywalking、Redis、RocketMQ等)也基本都是從零講起,保證讀者能夠平滑地學習。本書是“一站到底”的解決方案:讀者隻需從這裡上車,中途無需轉乘,讀者需要什麼,本書就提供什麼,直達終點。
(4)繪制了大量的圖,便於理解原理、架構、流程。
一圖勝千文,書中在涉及原理、架構、流程的地方都盡量配有插圖,以便讀者有直觀的理解。
(5)實戰性強。
本書介紹了大量的實戰案例,能讓讀者“動起來”,在實踐中體會功能,而不隻是一種概念上的理解。
在講解每一個知識模塊時,我們都在思考:在這個知識模塊中,哪些是讀者必須實現的“標準動作”(實例);哪些“標準動作”是可以先完成的,以求讀者能快速有一個感知;哪些“標準動作”是有一定難度,需要放到後面完成的。讀者在跟隨書中實例一個個實踐之後,再去理解那些抽像的概念和原理就是水道渠成了。
本書的目標之一是,讓讀者在動手中學習,而不是“看書時好像全明白了,一動手卻發現什都不會”。本書相信“知行合一”理念,不是“隻知,而無行”,避免眼高手低。
(6)深入剖析原理。
本書以繫統思維的方式,從業務功能視角剖析微服務架構中技術的底層原理,使讀者具備快速閱讀新框架源碼的能力。讀者隻有具備了這種功能,纔能舉一反三,實現更復雜的功能,應對更復雜的應用場景。
(7)采用真實項目,實現“從樹木到森林”的突破。
本書的“項目實戰篇”是從架構、代碼和業務的視角,在真實項目中驗證“Spring Cloud 微服務架構”的架構方法論及核心技術原理,讓讀者有身臨生產級場景的感覺。
(8)銜接運維,一鍵部署。
本書中所有的技術框架都有詳細的“搭建技術框架運維環境的步驟”,讀者隻需要按照本書的安裝步驟,就可以快速搭建運維環境,從而在本地環境中快速運行本書的實例。
(9)干貨豐富,知識的“巨無霸”。
本書共分為上、下兩冊,總計18章,近1000頁,內容非常豐富,算得上是相關領域圖書中的“巨無霸”。
★★2. 閱讀本書,你能學到什麼
- 掌的核心原理及微服務架構項目實戰經驗;
- 掌握Nacos注冊中心和配置中心的核心原理及微服務架構項目實戰經驗;
- 掌握Sentinel的核心原理及微服務架構項目實戰經驗;
- 掌握Seata的核心原理及微服務架構項目實戰經驗;
- 掌握RocketMQ的核心原理及微服務架構項目實戰經驗;
- 掌握Skywalking的核心原理及微服務架構項目實戰經驗;
- 掌握Elastic Job的核心原理及微服務架構項目實戰經驗;
- 掌握ShardingSphere的核心原理及微服務架構項目實戰經驗;
- 掌握Spring Cloud Gateway的核心原理及微服務架構項目實戰經驗;
- 掌握分布式緩存Redis的集群管理和分布式鎖的原理及微服務架構項目實戰經驗;
- 掌握Discovery的核心原理及微服務架構項目實戰經驗;
- 掌握在業務中臺和技術中臺中落地“基於Spring微服務架構”的項目實戰經驗;
- 掌握在微服務架構中“基於DataX的異構數據遷移”的項目實戰經驗;
- 掌握在微服務架構中“基於Skywalking的鏈路告警平臺”的項目實戰經驗;
- 掌握在微服務架構中“基於ELK和Sywalking的全鏈路日志平臺”的項目實戰經驗。
★★3. 讀者對像
本書讀者對像如下:
◎ 初學Java的自學者;
◎ 培訓機構的老師和學員;
◎ 軟件開發工程師;
◎ 高等院校計算機相關專業學生;
◎ Java語言中高級開發人員;
◎ Spring Cloud初學者;
◎ 編程愛好者;
◎ DevOps運維人員;
◎ 中間件愛好者;
◎ 技術總監;
◎ 技術經理;
◎ 其他對Spring Cloud 感興趣的IT人員。
★★4. 致謝
Spring Cloud是我深度使用的微服務框架之一,也是我實現職業生涯飛躍的敲門磚。雖然我在微服務架構領域中有很多技術沉澱,但是作為一個技術人員,將自己懂的技術通過文字輸出給讀者,還是需要很強的技術布道能力及文字編排能力的。