TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Spring微服務架構設計(第2版)(簡體書)
滿額折

Spring微服務架構設計(第2版)(簡體書)

人民幣定價:89 元
定  價:NT$ 534 元
優惠價:87465
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
名人/編輯推薦
目次

商品簡介

隨著Spring Boot和Spring Cloud的推出,Spring框架變得更加強大,支持快速開發和高效運維,非常適合實現微服務架構,能夠滿足微服務的併發、精細監控和可靠易用等需求。《Spring微服務架構設計(第2版)》提供了實現大型響應式微服務的實用方法和指導原則,並通過示例全面講解如何構建微服務。主要內容包括:微服務架構介紹以及構建微服務時面臨的挑戰,如何用Spring Boot和Spring Cloud開發微服務系統,微服務能力模型,如何演進微服務,微服務的日誌管理和監控,如何用Docker、Mesos和 Marathon管理互聯網級微服務架構,等等。

名人/編輯推薦

Spring框架是成熟的輕量級開源框架。面向對象的特性使得其簡單易用,利用它可以快速開發出高可用的Java應用。隨著功能的不斷豐富與增強,Spring在構建微服務方面愈發遊刃有餘。

本書通過一系列生動示例,全面、細緻地闡述了如何利用Spring框架、Spring Boot和Spring Cloud構建微服務,以及如何利用Docker部署微服務,並用Mesos和Marathon進行管理。對於想要構建強大的互聯網級應用,以滿足現代業務需求的Spring開發人員來說,這本實用指南極具參考價值!

- 微服務的演進、特性與優勢
- SOA、“十二要素應用”以及Lambda架構
- 利用Spring Boot構建微服務
- 微服務設計的經驗法則、挑戰及應對方案
- 構建微服務能力模型
- 案例研究:從單體應用遷移至微服務
- 利用Spring Cloud擴展微服務
- 管理日誌和實施監控的各種工具
- 利用Docker將微服務容器化
- 微服務的擴容和容器編排方案
- 利用Meso和Marathon管理微服務
- 微服務開發的流程與最佳實踐

目次

第 1章 微服務揭秘 1
1.1 微服務的演進 1
1.1.1 微服務演進的催化劑――業務需求 1
1.1.2 微服務演進的催化劑――技術演進 3
1.1.3 架構演進勢在必行 4
1.2 什麼是微服務 5
1.3 微服務蜂巢 7
1.4 微服務架構的設計原則 8
1.4.1 每個服務承擔單一責任 8
1.4.2 微服務是自治的 9
1.5 微服務的特性 10
1.5.1 服務是一等公民 10
1.5.2 微服務是輕量級的 11
1.5.3 微服務的混合架構 11
1.5.4 微服務環境中的自動化 12
1.5.5 微服務的生態支持系統 13
1.5.6 微服務是動態分布式的 13
1.5.7 抗脆弱、快速失敗和自我癒合 15
1.6 微服務的實例 15
1.6.1 一個酒店門戶網站的例子 15
1.6.2 一個旅行社門戶網站的例子 18
1.7 微服務架構的優勢 19
1.7.1 支持混合架構 19
1.7.2 為試驗和創新賦能 20
1.7.3 彈性伸縮和選擇性擴容 21
1.7.4 服務可替換 23
1.7.5 為構建有機系統賦能 23
1.7.6 有助於管理技術債 24
1.7.7 允許不同版本並存 25
1.7.8 支持構建自組織系統 26
1.7.9 支持事件驅動架構 27
1.7.10 為DevOps賦能 28
1.8 小結 28
第 2章 相關架構風格和用例 29
2.1 SOA 29
2.1.1 面向服務的集成 30
2.1.2 遺留系統現代化 31
2.1.3 面向服務的應用 31
2.1.4 用SOA遷移單體應用 32
2.2 十二要素應用 32
2.2.1 單一代碼庫 33
2.2.2 依賴捆綁 33
2.2.3 配置外部化 34
2.2.4 支撐服務可尋址 34
2.2.5 構建、發佈和運行時的隔離 35
2.2.6 無狀態、不共享進程 36
2.2.7 通過端口綁定暴露服務 36
2.2.8 以水平擴展實現高併發 36
2.2.9 以最小的開銷實現可處置性 37
2.2.10 開發環境和生產環境的對等性 37
2.2.11 日誌信息外部化 37
2.2.12 打包後臺管理進程 38
2.3 無服務器計算 38
2.4 Lambda架構 39
2.5 DevOps、雲計算和容器 40
2.5.1 DevOps是實現微服務架構的實踐和流程 41
2.5.2 以雲計算和容器作為微服務的自助式基礎設施 41
2.6 響應式微服務 42
2.7 微服務用例 45
2.8 微服務先行者的共同點 46
2.9 微服務框架 48
2.10 小結 49
第3章 用Spring Boot構建微服務 50
3.1 搭建開發環境 50
3.2 用Spring Boot構建RESTful微服務 51
3.3 Spring Boot入門 51
3.4 開發Spring Boot微服務 52
3.5 開發第 一個Spring Boot微服務 53
3.6 啟用HATEOAS的Spring Boot微服務 60
3.7 響應式Spring Boot微服務 64
3.7.1 使用Spring WebFlux實現響應式微服務 64
3.7.2 用Spring Boot和RabbitMQ實現響應式微服務 68
3.8 實現微服務安全 70
3.8.1 用基本安全策略保護微服務 70
3.8.2 用OAuth2保護微服務 71
3.9 為微服務交互啟用跨域訪問 73
3.10 使用Spring Boot Actuator實現微服務instrumentation 74
3.10.1 利用JConsole監控應用 76
3.10.2 利用ssh監控應用 76
3.10.3 添加自定義健康檢查模塊 77
3.10.4 自定義指標 78
3.11 微服務文檔化 79
3.12 綜合實例:開發客戶註冊微服務 80
3.13 小結 89
第4章 應用微服務概念 90
4.1 微服務設計指南 90
4.1.1 確定微服務的邊界 90
4.1.2 設計微服務通信方式 94
4.1.3 微服務編排 98
4.1.4 每個微服務包含多少個端口――一個還是多個 102
4.1.5 每個虛擬機運行多少個微服務――一個還是多個 102
4.1.6 規則引擎――共享還是嵌入 103
4.1.7 BPM和工作流的作用 104
4.1.8 微服務可以共享數據庫嗎 106
4.1.9 微服務可以無頭嗎 108
4.1.10 確定事務邊界 108
4.1.11 服務端口設計的考量點 110
4.1.12 處理共享類庫 111
4.1.13 微服務中的UI 112
4.1.14 微服務中使用API網關 114
4.1.15 在微服務架構中使用ESB和iPaaS 115
4.1.16 服務版本化的考慮 116
4.1.17 跨域設計 118
4.1.18 處理共享的引用數據 118
4.1.19 微服務和批量操作 119
4.2 小結 121
第5章 微服務能力模型 122
5.1 微服務能力模型簡介 122
5.2 核心能力 123
5.2.1 服務監聽器和類庫 124
5.2.2 存儲能力 124
5.2.3 服務實現 124
5.2.4 服務端口 124
5.3 基礎設施能力 125
5.3.1 雲計算 125
5.3.2 容器運行時 125
5.3.3 容器編排 126
5.4 支撐能力 126
5.4.1 服務網關 126
5.4.2 軟件定義的負載均衡 126
5.4.3 集中式日誌管理 127
5.4.4 服務發現 127
5.4.5 安全服務 127
5.4.6 服務配置 128
5.4.7 運維監控 128
5.4.8 依賴管理 128
5.4.9 數據湖 129
5.4.10 可靠的消息機制 130
5.5 流程和治理能力 130
5.5.1 DevOps 130
5.5.2 自動化工具 130
5.5.3 容器註冊表 131
5.5.4 微服務文檔化 131
5.5.5 參考架構和類庫 132
5.6 微服務成熟度模型 133
5.6.1 第0級――傳統 133
5.6.2 第 1級――初級 134
5.6.3 第 2級――中級 134
5.6.4 第3級――高級 134
5.7 微服務採用的入口 135
5.8 小結 136
第6章 微服務演進案例研究 137
6.1 理解PSS應用 137
6.1.1 業務流程視圖 137
6.1.2 功能視圖 138
6.1.3 架構視圖 139
6.1.4 設計視圖 139
6.1.5 實現視圖 140
6.1.6 部署視圖 141
6.2 單體之死 142
6.2.1 痛點 142
6.2.2 應急修復 142
6.2.3 複盤 143
6.3 訴諸微服務――有計劃地遷移 146
6.3.1 業務用例 147
6.3.2 遷移方法 148
6.3.3 確定微服務邊界 149
6.3.4 分析服務依賴關係 149
6.3.5 微服務遷移的優先級 157
6.3.6 遷移過程中的數據同步 158
6.3.7 管理引用數據 160
6.3.8 UI和Web應用 161
6.3.9 測試策略 163
6.3.10 構建生態系統能力 164
6.3.11 只遷移必要的模塊 164
6.3.12 微服務的內部層次結構 165
6.3.13 微服務編排 166
6.3.14 與其他系統的集成 166
6.3.15 遷移共享類庫 167
6.3.16 處理異常 167
6.4 目標實現 169
6.4.1 項目實現 170
6.4.2 項目運行和測試 171
6.5 後續工作 174
6.6 小結 175
第7章 用Spring Cloud組件擴展微服務 176
7.1 什麼是Spring Cloud 176
7.2 Spring Cloud的版本 177
7.3 搭建BrownField航空公司PSS系統的項目環境 177
7.4 Spring Cloud Config 178
7.4.1 用配置服務器構建微服務 180
7.4.2 搭建配置服務器 181
7.4.3 理解配置服務器URL 183
7.4.4 處理配置變更 187
7.4.5 用Spring Cloud總線推送配置變更 187
7.4.6 搭建配置服務器的高可用集群 188
7.4.7 監控配置服務器的健康狀態 189
7.4.8 用配置服務器管理配置文件 189
7.4.9 完成修改以使用配置服務器 189
7.5 將Eureka用於服務註冊和發現 190
7.5.1 理解動態服務註冊和發現 190
7.5.2 理解Eureka 191
7.5.3 搭建Eureka服務器 192
7.5.4 Eureka的高可用性 196
7.6 用Zuul代理作為API網關 198
7.6.1 搭建Zuul 199
7.6.2 Zuul的高可用性 203
7.7 響應式微服務流 205
7.8 用Spring Cloud Security 保護微服務 208
7.9 總結BrownField航空公司的PSS應用架構 209
7.10 小結 211
第8章 微服務的日誌管理和監控 212
8.1 日誌管理的挑戰 212
8.2 集中式日誌管理方案 213
8.3 日誌管理方案的選取 215
8.3.1 雲服務 215
8.3.2 現成的方案 215
8.3.3 集成一流的組件 215
8.3.4 自定義日誌管理方案的實現 216
8.3.5 用Spring Cloud Sleuth實現分布式跟蹤 220
8.4 監控微服務 222
8.4.1 微服務監控的挑戰 222
8.4.2 監控工具 224
8.4.3 監控微服務依賴 225
8.4.4 用Spring Cloud Hystrix實現微服務容錯 226
8.4.5 用Turbine聚合Hystrix流 229
8.5 使用數據湖做數據分析 232
8.6 小結 233
第9章 用Docker容器化微服務 234
9.1 BrownField公司PSS微服務的不足之處 234
9.2 什麼是容器 235
9.3 虛擬機和容器的區別 236
9.4 容器的優勢 237
9.5 微服務和容器 238
9.6 Docker簡介 239
9.7 將微服務部署到Docker中 242
9.8 在Docker上運行RabbitMQ 246
9.9 使用Docker註冊表 246
9.9.1 設置Docker Hub 247
9.9.2 將微服務發佈到Docker Hub 247
9.10 微服務上雲 247
9.11 在EC2上運行BrownFiled公司的微服務 248
9.12 容器化的未來 249
9.13 小結 249
第 10章 用Mesos和Marathon擴展容器化的微服務 250
10.1 微服務擴容 250
10.1.1 理解自動擴容 251
10.1.2 缺失的部分 252
10.2 容器編排 252
10.2.1 為什麼容器編排很重要 253
10.2.2 容器編排是什麼 253
10.2.3 容器編排和微服務的關係 255
10.2.4 容器編排和虛擬化的關係 256
10.2.5 容器編排方案 256
10.3 用Mesos和Marathon實現容器編排 259
10.4 用DCOS實現Mesos和Marathon 262
10.5 為BrownField公司的微服務實現Mesos和Marathon 263
10.5.1 安裝Mesos、Marathon及相關組件 263
10.5.2 運行Mesos和Marathon 264
10.6 準備部署BrownField公司的PSS微服務 266
10.7 小結 269
第 11章 微服務開發生命週期 270
11.1 微服務開發的實踐要點 270
11.1.1 理解業務動機和價值 270
11.1.2 從項目開發到產品開發的觀念轉變 270
11.1.3 選擇正確的開發理念 271
11.1.4 使用最小可行產品的概念 271
11.1.5 克服遺留熱點 271
11.1.6 建立自組織的團隊 272
11.1.7 構建自服務雲 274
11.1.8 構建一套微服務生態系統 274
11.1.9 以DevOps實踐貫穿微服務開發的生命週期 274
11.1.10 價值驅動計劃 275
11.1.11 持續監控和反饋 275
11.2 自動化開發週期 276
11.2.1 開發 277
11.2.2 集成 278
11.2.3 測試 279
11.2.4 部署 282
11.2.5 監控和反饋 282
11.2.6 配置管理 282
11.2.7 微服務開發治理、參考架構和類庫 283
11.3 小結 283

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區