套裝包括以下三本:
億級流量網站架構核心技術
輕量級微服務架構
本係列從開發與運維兩方麵分彆對微服務架構的實踐過程進行描述,全套分為上下兩冊,上冊偏重於開發,下冊偏重於運維。在上冊中讀者會學習到微服務架構所需的開發技能,包括使用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年加入貓眼電影(原美團網旗下電影事業部),負責交易業務綫架構與開發工作。
擅長電商交易領域係統設計與架構,在電商交易領域係統架構設計方麵積纍瞭較為豐富的實踐經驗。
對高並發係統設計、服務化架構、互聯網中間件開發保持著濃厚的興趣。
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 windowsfront.com All Rights Reserved. 靜流書站 版權所有