微服務分佈式構架開發實戰

微服務分佈式構架開發實戰

作者: 龔鵬
出版社: 人民郵電
出版在: 2018-02-06
ISBN-13: 9787115475589
ISBN-10: 711547558X
裝訂格式: 平裝
總頁數: 202 頁





內容描述


隨著第三方框架的逐漸完善,實施微服務架構的開發成本越來越低,分佈式架構成為主流勢不可擋。一個完善的架構或系統中包含了許多的知識點,而每一個知識點則又可以引出非常多的內容,過度地專註於細節反而會拖慢達成目標的步伐。為了更快地實施微服務,本書基於開源且穩定的第三方工具,介紹如何構建一個龐大且復雜的分佈式系統,用於滿足項目中的實際需求。
每一個工具庫為了適應更豐富的使用場景,通常都會把部分參數以配置文件的方式暴露出來,同時提供用於開發環境的默認配置。本書基於快速使用為主線,盡可能多地講解配置參數的意義及它們之間的關系,幫助讀者在掌握足夠多的知識點後,建立起對微服務分佈式架構的認知,以便為探求更深層次的知識點做好鋪墊。
本書適合Java工程師、初級架構師、大中專院校相關專業師生、Java培訓班學員及獨立開發者與自學讀者使用。

每一個工具庫為了適應更豐富的使用場景,通常都會把部分參數以配置文件的方式暴露出來,同時提供用於開發環境的默認配置。本書基於快速使用為主線路,盡可能多地講解配置參數的意義及之間的關系。在掌握足夠多的知識點後建立起對微服務分佈式架構的認知,以便為探求更深層次的知識點做好鋪墊。


目錄大綱


1微服務介紹1 
1.1什麼是微服務架構2 
1.2垂直應用與微服務2 
1.3實現一個最簡單的微服務框架3 
1.3.1公共接口4 
1.3.2服務端4 
1.3.3客戶端7 
1.3.4完善框架8 
1.4主流微服務框架介紹9 
1.4.1 Dubbo 9 
1.4.2 Spring Cloud 10 
2模塊拆分12 
2.1拆分邏輯13 
2.2單模塊14 
2.3基礎模塊14 
2.4複雜模塊15 
3 Spring Boot 16 
3.1目錄結構17 
3.2主要文件18 
3.3編輯器集成18 
4 Dubbo 20 
4.1註冊中心21 
4.2接口工程22 
4.3服務端23 
4.4消費方28 
4.5網關30 
4.6監控中心33 
4.7服務管理35 
4.8負載均衡36 
4.9服務降級37 
4.10集群容錯38 
5 Spring Cloud 40
5.1註冊中心41 
5.2註冊服務44 
5.3調用服務45 
5.3.1 Ribbon 46 
5.3.2 Feign 49 
5.4 Zuul網關51 
5.5 Hystrix斷路器54 
5.5.1 Ribbon 54 
5.5.2 Fegin 57 
5.6服務監控58 
5.7應用監控61 
5.8熔斷器監控62 
5.8.1單應用的熔斷數據63 
5.8.2使用Turbine聚合數據64 
5.8.3 Cloud Admin整合Turbine 65 
5.9統一管理配置文件66 
6數據持久化70 
6.1 Spring Data MySQL 71 
6.1.1依賴與配置71 
6.1.2實體映射72 
6.1.3 Repository 76 
6.1.4 JdbcTemplate 79 
6.1.5事務管理80 
6.2 Spring Data MongoDB 81 
6.2.1依賴與配置81 
6.2.2實體映射82 
6.2.3 Repository 83 
6.2.4 MongoTemplate 84 
6.3 Spring Data ElasticSearch 85
6.3.1基本概念85 
6.3.2安裝與運行86 
6.3.3基於HTTP交互87 
6.3.4配置分詞器91 
6.3.5依賴與配置94 
6.3.6實體映射94 
6.3.7 Repository 95 
6.3.8 ElasticsearchTemplate 96 
6.4 TCC分佈式事務98 
6.5 Spring Data Redis 100 
6.5.1安裝運行100 
6.5.2依賴與配置101 
6.5.3緩存支持102 
6.5.4 RedisTemplate 106 
6.5.5全局鎖107 
7表單驗證110 
8定時任務113 
8.1 Spring Task單機定時任務114 
8.2 Cron表達式114 
8.3 QuartZ分佈式定時任務116 
9分佈式會話122 
10消息隊列124 
10.1安裝及配置RabbitMQ 125 
10.2配置及使用128 
11構建Web應用130 
12異常處理133 
13安全認證139 
13.1 OAuth2.0協議介紹140 
13.2 shouquan模式141
13.3在Dubbo中使用OAuth 2.0 142 
13.4在Spring Cloud中
使用OAuth 2.0 151 
13.4.1 shouquan中心151 
13.4.2服務模塊配置154 
13.4.3網關配置157 
13.4.4測試運行159 
14日誌管理161 
14.1 Spring Boot日誌162 
14.1.1日誌格式162 
14.1.2輸出到文件163 
14.1.3擴展配置163 
14.2分佈式日誌管理166 
14.2.1 ELK搭建167 
14.2.2 Spring Boot配置169 
15熱部署171 
16接口文檔管理173 
16.1 Dubbo中使用Swagger2 174 
16.2 Spring Cloud中使用
Swagger2 178 
16.2.1微服務模塊配置179 
16.2.2網關模塊配置181 
17 Nexus私庫184 
17.1 Nexus安裝185 
17.2從Nexus私庫下載jar包187 
17.3上傳jar包到Nexus私庫189 
18發布系統191 
18.1 Jenkins安裝配置192
18.2構建任務194 
19分佈式架構總結201


作者介紹


作者簡介  龔鵬
全棧GEEK,高中時期開始自學Java,專注於互聯網,具備軟件開發、美術設計、產品策劃等領域知識。匠工科技創始人,曾服務奧美互動、百度、中青旅,負責開發車聯網設計、互聯網彩票、電子商務等系統。




相關書籍

CSS3 Pushing the Limits (Paperback)

作者 Stephen Greig

2018-02-06

Modular Web Design: Creating Reusable Components for User Experience Design and Documentation (Paperback)

作者 Nathan A. Curtis

2018-02-06

JavaScript & jQuery: The Missing Manual, 3/e (國際中文版)

作者 David Sawyer McFarland 楊尊一 譯

2018-02-06