套裝包括以下三本:
億級流量網站架構核心技術
輕量級微服務架構
本係列從開發與運維兩方麵分彆對微服務架構的實踐過程進行描述,全套分為上下兩冊,上冊偏重於開發,下冊偏重於運維。在上冊中讀者會學習到微服務架構所需的開發技能,包括使用SpringBoot搭建微服務開發框架,使用Node.js搭建微服務網關,使用ZooKeeper實現微服務注冊與發現,使用Docker封裝微服務,使用Jenkins部署微服務。通過閱讀上冊,讀者可輕鬆搭建一款輕量級微服務架構。
《輕量級微服務架構(上冊)》適閤對微服務實踐感興趣,以及想成為微服務架構師的人員閱讀。
第1章 微服務架構設計概述
1.1 為什麼需要微服務架構
1.1.1 傳統應用架構的問題
1.1.2 如何解決傳統應用架構的問題
1.1.3 傳統應用架構還有哪些問題
1.2 微服務架構是什麼
1.2.1 微服務架構概念
1.2.2 微服務交付流程
1.2.3 微服務開發規範
1.2.4 微服務架構模式
1.3 微服務架構有哪些特點和挑戰
1.3.1 微服務架構的特點
1.3.2 微服務架構的挑戰
1.4 如何搭建微服務架構
1.4.1 微服務架構圖
1.4.2 微服務技術選型
1.5 本章小結
第2章 微服務開發框架
2.1 Spring Boot 是什麼
2.1.1 Spring Boot的由來
2.1.2 Spring Boot的特性
2.1.3 Spring Boot相關插件
2.1.4 Spring Boot的應用場景
2.2 如何使用Spring Boot框架
2.2.1 搭建Spring Boot開發框架
2.2.2 開發一個簡單的Spring Boot應用程序
2.2.3 運行Spring Boot應用程序
2.3 Spring Boot生産級特性
2.3.1 端點
2.3.2 健康檢查
2.3.3 應用基本信息
2.3.4 跨域
2.3.5 外部配置
2.3.6 遠程監控
2.4 本章小結
第3章 微服務網關
3.1 Node.js是什麼
3.1.1 Node.js快速入門
3.1.2 Node.js應用場景
3.2 如何使用Node.js
3.2.1 安裝Node.js
3.2.2 使用Node.js開發 Web應用
3.2.3 使用Express框架開發Web應用
3.2.4 搭建Node.js集群環境
3.3 使用Node.js搭建微服務網關
3.3.1 什麼是微服務網關
3.3.2 使用Node.js實現反嚮代理
3.4 本章小結
第4章 微服務注冊與發現
4.1 ZooKeeper是什麼
4.1.1 ZooKeeper樹狀模型
4.1.2 ZooKeeper集群結構
4.2 如何使用ZooKeeper
4.2.1 運行ZooKeeper
4.2.2 搭建ZooKeeper集群環境
4.2.3 使用命令行客戶端連接ZooKeeper
4.2.4 使用Java客戶端連接ZooKeeper
4.2.5 使用Node.js客戶端連接ZooKeeper
4.3 實現服務注冊組件
4.3.1 設計服務注冊錶數據結構
4.3.2 搭建應用程序框架
4.3.3 定義服務注冊錶接口
4.3.4 使用ZooKeeper實現服務注冊
4.3.5 服務注冊模式
4.4 實現服務發現組件
4.4.1 定義服務發現策略
4.4.2 搭建應用程序框架
4.4.3 使用Node.js實現服務發現
4.4.4 服務發現優化方案
4.4.5 服務發現模式
4.5 本章小結
第5章 微服務封裝
5.1 Docker是什麼
5.1.1 Docker簡介
5.1.2 虛擬機與Docker對比
5.1.3 Docker的特點
5.1.4 Docker係統架構
5.1.5 安裝Docker
5.2 如何使用Docker
5.2.1 Docker鏡像常用操作
5.2.2 Docker容器常用操作
5.2.3 Docker命令匯總
5.3 手工製作Java鏡像
5.3.1 下載JDK
5.3.2 啓動容器
5.3.3 提交鏡像
5.3.4 驗證鏡像
5.4 使用Dockerfile構建鏡像
5.4.1 瞭解Dockerfile基本結構
5.4.2 使用Dockerfile構建鏡像
5.4.3 Dockerfile指令匯總
5.5 使用Docker Registry管理鏡像
5.5.1 使用Docker Hub
5.5.2 搭建Docker Registry
5.6 Spring Boot與Docker整閤
5.6.1 搭建Spring Boot應用程序框架
5.6.2 為Spring Boot應用添加Dockerfile
5.6.3 使用Maven構建Docker鏡像
5.6.4 啓動Spring Boot的Docker容器
5.6.5 調整Docker容器內存限製
5.7 本章小結
第6章 微服務部署
6.1 Jenkins是什麼
6.1.1 Jenkins簡介
6.1.2 自動化發布平颱
6.1.3 安裝Jenkins
6.2 搭建GitLab版本控製係統
6.2.1 GitLab簡介
6.2.2 安裝GitLab
6.2.3 將代碼推送至GitLab中
6.3 搭建Jenkins持續集成係統
6.3.1 創建構建任務
6.3.2 手工執行構建
6.3.3 自動執行構建
6.4 使用Jenkins實現自動化發布
6.4.1 自動發布jar包
6.4.2 自動發布Docker容器
6.5 本章小結
內容提要
《架構探險:從零開始寫分布式服務框架》的初衷是希望把分布式服務框架的實現細節及分布式服務框架周邊的知識點梳理清楚,為那些對分布式服務框架感興趣的人打開一扇窗戶,降低獲取相關知識的門檻。所以《架構探險:從零開始寫分布式服務框架》圍繞實現分布式服務框架所需的知識點,進行瞭比較詳盡細緻的介紹。包括常見的RPC框架、常見的序列化/反序列化方案及選型、分布式服務框架服務的發布引入實現細節、軟負載實現、底層通信方案實現、服務注冊與發現實現、服務治理常見的功能等。通過對這些知識點的逐步講解,層層深入,·終完成一個可運行的分布式服務框架。
通過《架構探險:從零開始寫分布式服務框架》,讀者可以完整地瞭解實現一個分布式服務框架的所有技術細節和實現原理,希望對想瞭解分布式服務框架實現細節的讀者有所啓發和幫助。
目 錄
第1章 常用的RPC框架 1
1.1 RPC框架原理 1
1.2 RMI介紹 2
1.2.1 原生RMI代碼示例 3
1.2.2 RMI穿透防火牆 5
1.3 CXF/Axis2介紹 7
1.3.1 CXF介紹 7
1.3.2 Axis2介紹 14
1.4 Thrift介紹 21
1.4.1 Thrift工作原理介紹 23
1.4.2 Thrift IDL語法說明 26
1.4.3 基於Apache Thrift的Java版完整案例 28
1.4.4 基於Java注解的簡化實現 36
1.5 gRPC介紹 42
1.5.1 protobuf3語法介紹 43
1.5.2 gRPC使用示例 45
1.6 HTTP Client介紹 53
1.6.1 構建HttpClient對象54
1.6.2 構建URI對象 55
1.6.3 構建請求對象(HttpGet、HttpPost) 56
1.6.4 HttpClient發起調用及獲取調用返迴結果 56
1.7 實現自己的RPC框架 61
1.8 RPC框架與分布式服務框架的區彆 68
1.9 本章小結 68
第2章 分布式服務框架總體架構與功能 69
2.1 麵嚮服務的體係架構(SOA) 69
2.1.1 麵嚮服務架構範式 69
2.1.2 服務拆分原則 71
2.2 分布式服務框架現實需求 72
2.3 分布式服務框架總體架構及所需的技術概述 72
2.4 本章小結 74
第3章 分布式服務框架序列化與反序列化實現 75
3.1 序列化原理及常用的序列化介紹 75
3.2 Java默認的序列化 77
3.3 XML序列化框架介紹 80
3.4 JSON序列化框架介紹 82
3.5 Hessian序列化框架介紹 87
3.6 protobuf序列化框架介紹 88
3.7 protostuff序列化框架介紹 93
3.8 Thrift序列化框架介紹98
3.9 Avro序列化框架介紹 100
3.9.1 Avro介紹 100
3.9.2 Avro IDL語言介紹 101
3.9.3 Schema定義介紹 103
3.9.4 Maven配置及使用IDL與Schema自動生成代碼 103
3.9.5 Avro序列化/反序列化實現 105
3.10 JBoss Marshalling序列化框架介紹 110
3.11 序列化框架的選型 112
3.12 實現自己的序列化工具引擎 113
3.13 本章小結 118
第4章 實現分布式服務框架服務的發布與引入 119
4.1 Spring Framework框架概述119
4.1.1 Spring Framework介紹 119
4.1.2 Spring Framework周邊生態項目介紹 121
4.2 FactoryBean的秘密 122
4.2.1 FactoryBean的作用及使用場景 123
4.2.2 FactoryBean實現原理及示例說明 124
4.3 Spring框架對於已有RPC框架集成的支持 127
4.3.1 Spring支持集成RPC框架介紹127
4.3.2 基於RmiProxyFactoryBean實現RMI與Spring的集成128
4.3.3 基於HttpInvokerProxyFactoryBean實現HTTP Invoker與Spring的集成 131
4.3.4 基於HessianProxyFactoryBean實現Hessian與Spring的集成 133
4.4 實現自定義服務框架與Spring的集成 136
4.4.1 實現遠程服務的發布 136
4.4.2 實現遠程服務的引入 144
4.5 在Spring中定製自己的XML標簽 150
4.6 本章小結 158
第5章 分布式服務框架注冊中心 159
5.1 服務注冊中心介紹 159
5.2 ZooKeeper實現服務的注冊中心原理161
5.2.1 ZooKeeper介紹 161
5.2.2 部署ZooKeeper 161
5.2.3 ZkClient使用介紹 164
5.2.4 ZooKeeper實現服務注冊中心 173
5.3 集成ZooKeeper實現自己的服務注冊與發現 175
5.3.1 服務注冊中心服務提供方 175
5.3.2 服務注冊中心服務消費方 176
5.3.3 服務注冊中心實現 178
5.4 本章小結 189
第6章 分布式服務框架底層通信實現 190
6.1 Java I/O模型及I/O類庫的進化 190
6.1.1 Linux下實現的I/O模型 190
6.1.2 Java語言實現的I/O模型194
6.1.3 Java Classic I/O(Blocking I/O)介紹 194
6.1.4 Java Non-blocking I/O(NIO)介紹 211
6.1.5 NIO2及Asynchronous I/O介紹 233
6.2 Netty使用介紹 255
6.2.1 Netty開發入門 256
6.2.2 Netty粘包/半包問題解決 265
6.3 使用Netty構建服務框架底層通信 320
6.3.1 構建分布式服務框架Netty服務端320
6.3.2 構建分布式服務框架服務調用端Netty客戶端 330
6.4 本章小結 347
第7章 分布式服務框架軟負載實現 348
7.1 軟負載的實現原理 348
7.2 負載均衡常用算法 349
7.2.1 軟負載隨機算法實現 349
7.2.2 軟負載加權隨機算法實現 350
7.2.3 軟負載輪詢算法實現 351
7.2.4 軟負載加權輪詢算法實現 352
7.2.5 軟負載源地址hash算法實現 354
7.3 實現自己的軟負載機製 355
7.4 軟負載在分布式服務框架中的應用 357
7.5 本章小結 361
第8章 分布式服務框架服務治理 362
8.1 服務治理介紹 362
8.2 服務治理的簡單實現 364
8.2.1 服務分組路由實現 364
8.2.2 簡單服務依賴關係分析實現 374
8.2.3 服務調用鏈路跟蹤實現原理 380
8.3 本章小結 380
附錄A 如何配置運行本書完成的分布式服務框架381
作者簡介
李業兵
先後在支付寶運營支撐事業部、去哪兒網酒店事業部任職高級開發工程師。於2015年加入貓眼電影(原美團網旗下電影事業部),負責交易業務綫架構與開發工作。
擅長電商交易領域係統設計與架構,在電商交易領域係統架構設計方麵積纍瞭較為豐富的實踐經驗。
對高並發係統設計、服務化架構、互聯網中間件開發保持著濃厚的興趣。
評價五 我一直覺得,技術書籍如果隻是堆砌概念,那就失去瞭意義。這套書最讓我欣慰的是,它沒有讓我感覺在“死讀書”。《億級流量網站架構核心技術》裏那些關於性能優化的具體方法,比如如何調整JVM參數、如何優化SQL查詢,都非常具有實踐指導意義。《架構探險:從零開始寫分布式服務框架》更是讓我看到瞭理論如何落地,作者在講解Paxos時,雖然深入,但沒有脫離實際應用的可能性,讓我對接下來的學習充滿瞭信心。《輕量級微服務架構》則是一個非常好的“降維打擊”指南,它把復雜的微服務概念,用一種平實的語言和實用的方法論來解釋,讓我不再對微服務感到畏懼。這套書的優點在於,它既有高屋建瓴的理論高度,又有腳踏實地的實踐指導,而且在不同技術點之間,建立起瞭一種巧妙的聯係。閱讀體驗非常流暢,讓我感覺自己不僅在學習技術,更是在學習一種解決問題的思維方式。
評分評價三 《輕量級微服務架構》這本書,就像是在紛繁復雜的微服務領域裏,給我指明瞭一條清晰的道路。我之前總覺得微服務聽起來很美,但實施起來卻是一團糟,服務拆分不閤理、服務間依賴混亂、部署管理睏難。這本書恰恰解決瞭這些痛點。它強調的是“輕量級”,意味著在追求敏捷和獨立性的同時,不過度地增加係統的復雜性。我尤其贊賞書中關於“服務邊界”的劃分原則,以及如何選擇閤適的技術棧來支撐微服務。不同於一些上來就講復雜分布式事務和復雜網關的文章,這本書從更實用的角度齣發,比如如何構建清晰的API接口,如何進行有效的服務治理,如何實現高效的灰度發布和迴滾。讀完這本書,我發現原來微服務也可以不那麼“重”,關鍵在於找到適閤自己業務場景的平衡點。它教會我如何更好地進行服務拆分,如何讓每個微服務都保持小而精,又能協同工作,最終達到提高開發效率和係統彈性的目標。
評分評價四 這套書給我最大的感受就是“從宏觀到微觀,再迴到宏觀”的這種思考閉環。一開始讀《億級流量網站架構核心技術》,感覺自己站在瞭雲端,俯瞰整個互聯網的運行機製,瞭解如何讓一座座“數字城市”屹立不倒。然後,通過《架構探險:從零開始寫分布式服務框架》,我深入到城市的“基礎設施建設”層麵,學習如何構建支撐城市運行的“水電煤氣”係統,理解那些看不見的“管綫”是如何工作的。最後,《輕量級微服務架構》則像是教我如何對城市進行精細化管理和升級改造,讓城市變得更靈活、更高效、更能應對各種突發狀況。這種層層遞進的學習路徑,讓我對整個係統的理解更加立體和全麵。我不再是孤立地看待某一個技術點,而是能將其置於整個架構的背景下去思考。這種“全局觀”的培養,對於一個渴望成長為優秀技術人員的人來說,是無比寶貴的。
評分評價一 這套書,我斷斷續續看瞭有小半個月瞭,感覺像是被拉進瞭一個超大的技術世界。一開始,那個《億級流量網站架構核心技術》就鎮住瞭我,裏麵講的那些負載均衡、緩存策略、數據庫讀寫分離、容災備份,簡直就像是給網站裝上瞭一整套鋼鐵骨架,而且還能讓它在海嘯來的時候紋絲不動。那些關於CDN、DNS的優化,以及如何處理高並發場景下的連接池、綫程池,讓我對“穩定”有瞭更深的理解。不僅僅是概念的堆砌,書中還穿插瞭不少實操的案例和圖示,雖然我很多還沒來得及動手實踐,但腦子裏已經有瞭一個清晰的畫麵,感覺自己也能像個架構師一樣,把一個網站從零開始搭建得牢不可破。特彆是最後一部分關於彈性伸縮的內容,簡直是救命稻草,讓我意識到在互聯網時代,應對流量的潮起潮落,自動化和智能化是多麼重要。總的來說,這本書給我打開瞭一扇大門,讓我看到瞭構建大型、穩定、高性能網站的宏大圖景,也讓我意識到要達到這個目標,需要掌握的技術棧是多麼的廣闊和深入。
評分評價二 《架構探險:從零開始寫分布式服務框架》這本書,與其說是教我寫代碼,不如說是教我思考。作者用一種非常接地氣的方式,把一個龐大復雜的分布式係統,分解成瞭一個個可以理解的模塊。從最基礎的服務注冊發現,到RPC通信的原理,再到如何處理服務間的依賴和調用,一步步都剖析得淋灕盡緻。我最喜歡的部分是關於“一緻性”的討論, CAP定理、 Paxos、 Raft,這些聽起來就讓人頭疼的理論,在作者的講解下,變得生動起來。他並沒有直接扔給你一堆算法,而是通過一個又一個的場景,讓你理解為什麼需要這些算法,它們解決瞭什麼問題。寫一個分布式框架,真的不隻是寫幾行代碼那麼簡單,你需要考慮數據的一緻性、服務的可用性、故障的隔離,甚至數據的序列化和反序列化。這本書讓我明白,每一個小小的設計決策背後,都可能隱藏著深遠的考量。讀完這本書,我感覺自己不再是那個隻會調API的小白,而是開始擁有瞭構建復雜係統的“內功心法”。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有