- Spring Cloud Alibaba大型微服務架構項目實戰(zhàn)(上冊)
- 十三
- 2265字
- 2024-05-11 19:24:52
自序
大家好,我是十三。
非常感謝你們閱讀本書,在技術道路上,我們從此不再獨行。
寫作背景
2017年2月24日,筆者正式開啟技術寫作之路,同時也開始在GitHub網(wǎng)站上做開源項目,由于一直堅持更新文章和開源項目,慢慢地被越來越多的人所熟悉。2018年6月7日,電子工業(yè)出版社的陳林編輯通過郵件聯(lián)系筆者并邀請筆者出書。從此,筆者與電子工業(yè)出版社結緣。2018年筆者也被不同的平臺邀請制作付費專欄課程。自2018年9月起,筆者陸陸續(xù)續(xù)在CSDN圖文課、實驗樓、藍橋云課、掘金小冊、極客時間等平臺上線了多個付費專欄和課程。2020年,筆者與電子工業(yè)出版社的陳林編輯聯(lián)系并溝通了寫作事宜,之后簽訂了約稿合同,第一本書在2021年正式出版。
筆者寫作的初衷是希望把自己對技術的理解及實戰(zhàn)項目開發(fā)的經(jīng)驗分享給讀者。過去幾年的經(jīng)歷可以整理成一張圖(如圖1所示),免費文章→付費專欄→付費視頻→實體圖書,從0到1,從無到有,都是一步一步走過來的。這些也是筆者的寫作背景。
同時,筆者也會將付費專欄和圖書中用到的實戰(zhàn)項目開源到GitHub和Gitee兩個開源代碼平臺上,本書中基于Spring Cloud Alibaba的微服務實戰(zhàn)項目newbee-mall-cloud是筆者開發(fā)的一個開源項目。

圖1 筆者的寫作經(jīng)歷
隨著越來越完善的微服務技術棧的發(fā)布,以及越來越多的微服務項目實際的落地和上線,使用Java技術棧的企業(yè)應該都在嘗試或已經(jīng)讓各自的微服務項目落地了。通過招聘網(wǎng)站的信息和每次面試的反饋,Java開發(fā)人員也能夠清晰地認識到:微服務技術已經(jīng)逐漸成為Java開發(fā)人員必須掌握的一個進階知識點了。
作為技術人員,各位讀者一定對微服務架構有所耳聞,也能夠看出它會是未來的一種流行架構,進而也非常希望自己能夠掌握微服務技術體系,甚至動手實踐完成微服務項目的開發(fā)與維護,掌握微服務技術這項非常寶貴的技能。不過,在掌握這項技能時,可能會遇到如下幾個問題:
? 微服務技術的體系復雜,從何學起?學習哪些知識點?有沒有簡潔而有效的學習路徑?
? 微服務架構中的組件和中間件很多,如何選擇一套合適且可落地的方案?
? 在進行微服務架構的項目搭建與開發(fā)時,會遇到哪些問題?這些問題又該如何解決?
? 想要自己動手開發(fā)一個大型微服務項目,有沒有適合的源碼?有沒有可以借鑒的經(jīng)驗?
針對這些問題,筆者結合自己的開發(fā)經(jīng)驗和一個可操作的大型微服務實戰(zhàn)項目,從復雜的微服務體系中梳理一條明確而有效的學習路徑,讓讀者可以成體系地學習微服務架構,本書的知識點規(guī)劃和學習路徑如圖2所示。
以上就是筆者為各位開發(fā)人員整理的微服務架構項目的學習路徑和實戰(zhàn)步驟:梳理微服務架構、拆解微服務架構搭建的步驟、搭建并整合各個微服務組件、開發(fā)一個大型的微服務項目。

圖2 本書的知識點規(guī)劃和學習路徑
筆者先對概念性的知識進行介紹,讓讀者了解微服務的“前世今生”,然后介紹微服務的技術選型,包括技術棧的介紹與對比,并確定實戰(zhàn)項目所選擇的微服務技術組件,接著對這些技術組件進行講解,包括組件的作用、搭建和優(yōu)化。書中對Nacos、Spring Cloud Gateway、Sentinel、Seata等組件進行搭建和實際的整合,完成微服務架構實戰(zhàn)里中間件搭建和整合的工作。除基本的整合外,也對重點技術棧的源碼進行了詳細的剖析,讓讀者能夠知其然也知其所以然。搭建并整合完各個中間件之后,就是各個服務的編碼和功能實現(xiàn),在本套書的下冊中會對一個大型的商城項目進行拆解和微服務化,并從零到一落地一個功能完整、流程完善的微服務項目。本書內(nèi)容由淺入深,幫助讀者深入理解微服務技術,掌握微服務項目開發(fā)的核心知識點,并且能夠應用到自己所開發(fā)的項目中。
你會學到什么
本書的代碼基于Spring Boot 2.6.3版本和Spring Cloud Alibaba 2021.0.1.0版本。筆者通過14章的內(nèi)容由淺入深、逐一擊破微服務架構項目中的難點,讓各位讀者能夠實際地體驗微服務架構項目的搭建和開發(fā)。另外,本書從書稿整理完成至正式出版耗時近一年時間,在這段時間里,Spring Boot和Spring Cloud Alibaba及相關技術棧也有一些版本升級,如Spring Boot 3.x、Spring Cloud Alibaba 2022.x。對于這些情況,筆者會在本書實戰(zhàn)項目的開源倉庫中創(chuàng)建不同的代碼分支,保持實戰(zhàn)項目的源碼更新,保證讀者學習更新的知識。
讀者學習本書的內(nèi)容,會有以下收獲。
? Spring Cloud Alibaba微服務技術組件的整合與使用。
? 服務治理之服務注冊與服務發(fā)現(xiàn)。
? 服務間的通信方式。
? 負載均衡器的原理與實踐。
? 微服務網(wǎng)關搭建與使用。
? 分布式事務的處理。
? 服務容錯之限流及熔斷。
? 微服務間的鏈路追蹤。
? ELK日志中心的搭建與使用。
? 針對各個知識點的實戰(zhàn)源碼和一套可執(zhí)行的微服務項目源碼。
適宜人群
? 從事Java Web開發(fā)的技術人員。
? 希望進階高級開發(fā)的后端開發(fā)人員。
? 對微服務架構感興趣、想要了解Spring Cloud熱門組件的開發(fā)人員。
? 希望將微服務架構及相關技術實際運用到項目中的開發(fā)人員。
? 想要獨立完成一個微服務架構項目的開發(fā)人員。
源代碼
本書每個實戰(zhàn)章節(jié)都有對應的源碼并提供下載,讀者可以在本書封底掃碼獲取。
最終的實戰(zhàn)項目是筆者的開源項目newbee-mall-cloud,源碼在開源網(wǎng)站GitHub和Gitee上都能搜索并下載更新的源碼。
? 網(wǎng)址1
? 網(wǎng)址2
致謝
感謝電子工業(yè)出版社的陳林老師、石悅老師、美術編輯李玲和其他老師,本書能夠順利出版離不開你們的奉獻,感謝你們辛苦、嚴謹?shù)墓ぷ鳌?/p>
感謝newbee-mall系列開源倉庫的各位用戶及筆者專欄文章的所有讀者。他們提供了非常多的修改和優(yōu)化意見,使這個微服務實戰(zhàn)項目變得更加完善,也為筆者提供了持續(xù)寫作的動力。
感謝掘金社區(qū)的運營負責人優(yōu)弧和運營人員Captain。本書部分內(nèi)容是基于掘金小冊《Spring Cloud Alibaba大型微服務項目實戰(zhàn)》中的章節(jié)來擴展的,本書能順利出版也得到了掘金社區(qū)的大力支持。
特別感謝家人,沒有他們的默默付出和大力的支持,筆者不可能有如此多的時間和精力專注于本書的寫作。
感謝每一位沒有提及名字,但是曾經(jīng)幫助過筆者的貴人。
十三
2023年9月1日 于杭州
- 深入理解Net-Snmp
- SpringBoot揭秘:快速構建微服務體系
- Netty權威指南
- Apache Pulsar原理解析與應用實踐
- 搜索架構之道:App中的搜索系統(tǒng)設計與優(yōu)化實踐
- Unity手機游戲開發(fā):從搭建到發(fā)布上線全流程實戰(zhàn)
- TensorFlow+Android經(jīng)典模型從理論到實戰(zhàn)(微課視頻版)
- 領域驅動設計工作坊
- 鋒利的jQuery(第2版)
- Scrum捷徑:敏捷策略、工具與技巧
- HTML5游戲編程核心技術與實戰(zhàn)
- C#從入門到精通(第2版)
- 云原生Kubernetes全棧架構師實戰(zhàn)
- x86匯編與逆向工程:軟件破解與防護的藝術
- 大話軟件工程案例篇:項目與產(chǎn)品開發(fā)實戰(zhàn)