福利來了,現“免費”贈送Spring微服務實戰書籍
本書適合擁有構建分散式應用程式的經驗、擁有Spring的知識背景以及對學習構建基於微服務的應用程式感興趣的Java開發人員閱讀。
本書籍贈送活動詳情,請識別上圖二維碼☝☝☝☝☝
書籍推薦
本書教讀者如何使用Java和Spring平臺構建基於微服務的應用程式。在構建和部署dy個Spring Cloud應用程式時,讀者將學習如何進行微服務設計。在本書中,
精心挑選的真實案例展示了基於微服務的各種模式,這些模式用於配置、路由、擴充套件和部署服務。讀者將瞭解Spring易於使用的工具,並看到其如何助力用微服務
來增強和重構現有的應用程式。
本書主要內容
● 核心微服務設計原則。
● 使用Spring Cloud Config管理配置。
● 使用Spring、Hystrix和Ribbon實現客戶端彈性。
● 使用Netflix Zuul進行智慧路由。
● 部署Spring Cloud應用程式。
本書是為具有Java和Spring經驗的開發人員編寫的。
目錄
第 1章 歡迎邁入雲世界,Spring 1
1.1 什麼是微服務 1
1.2 什麼是Spring,為什麼它與微服務有關 4
1.3 在本書中讀者會學到什麼 5
1.4 為什麼本書與你有關 6
1.5 使用Spring Boot來構建微服務 6
1.6 為什麼要改變構建應用的方式 10
1.7 雲到底是什麼 11
1.8 為什麼是雲和微服務 13
1.9 微服務不只是編寫程式碼 14
1.9.1 核心微服務開發模式 15
1.9.2 微服務路由模式 16
1.9.3 微服務客戶端彈性模式 17
1.9.4 微服務安全模式 18
1.9.5 微服務日誌記錄和跟蹤模式 19
1.9.6 微服務構建和部署模式 20
1.10 使用Spring Cloud構建微服務 22
1.10.1 Spring Boot 23
1.10.2 Spring Cloud Config 23
1.10.3 Spring Cloud服務發現 24
1.10.4 Spring Cloud與Netflix Hystrix和Netflix Ribbon 24
1.10.5 Spring Cloud與Netflix Zuul 24
1.10.6 Spring Cloud Stream 24
1.10.7 Spring Cloud Sleuth 24
1.10.8 Spring Cloud Security 25
1.10.9 程式碼供應 25
1.11 通過示例來介紹Spring Cloud 25
1.12 確保本書的示例是有意義的 27
1.13 小結 28
第 2章 使用Spring Boot構建微服務 29
2.1 架構師的故事:設計微服務架構 31
2.1.1 分解業務問題 31
2.1.2 建立服務粒度 32
2.1.3 互相交流:定義服務介面 35
2.2 何時不應該使用微服務 36
2.2.1 構建分散式系統的複雜性 36
2.2.2 伺服器散亂 36
2.2.3 應用程式的型別 36
2.2.4 資料事務和一致性 37
2.3 開發人員的故事:用SpringBoot和Java構建微服務 37
2.3.1 從骨架專案開始 37
2.3.2 引導Spring Boot應用程式:編寫引導類 39
2.3.3 構建微服務的入口:Spring Boot控制器 40
2.4 DevOps工程師的故事:構建執行時的嚴謹性 44
2.4.1 服務裝配:打包和部署微服務 46
2.4.2 服務引導:管理微服務的配置 47
2.4.3 服務註冊和發現:客戶端如何與微服務通訊 48
2.4.4 傳達微服務的“健康狀況” 49
2.5 將視角綜合起來 51
2.6 小結 52
第3章 使用Spring Cloud配置伺服器控制配置 53
3.1 管理配置(和複雜性) 54
3.1.1 配置管理架構 55
3.1.2 實施選擇 56
3.2 構建Spring Cloud配置伺服器 58
3.2.1 建立Spring Cloud Config引導類 61
3.2.2 使用帶有檔案系統的Spring Cloud配置伺服器 62
3.3 將Spring Cloud Config與Spring Boot客戶端整合 64
3.3.1 建立許可證服務對Spring Cloud Config伺服器的依賴 65
3.3.2 配置許可證服務以使用Spring Cloud Config 66
3.3.3 使用Spring Cloud配置伺服器連線資料來源 69
3.3.4 使用@Value註解直接讀取屬性 72
3.3.5 使用Spring Cloud配置伺服器和Git 73
3.3.6 使用Spring Cloud配置伺服器重新整理屬性 73
3.4 保護敏感的配置資訊 75
3.4.1 下載並安裝加密所需的Oracle JCE jar 75
3.4.2 建立加密金鑰 76
3.4.3 加密和解密屬性 76
3.4.4 配置微服務以在客戶端使用加密 78
3.5 後的想法 79
3.6 小結 80
第4章 服務發現 81
4.1 我的服務在哪裡 82
4.2 雲中的服務發現 84
4.2.1 服務發現架構 84
4.2.2 使用Spring和Netflix Eureka進行服務發現實戰 87
4.3 構建Spring Eureka服務 88
4.4 通過Spring Eureka註冊服務 90
4.5 使用服務發現來查詢服務 93
4.5.1 使用Spring DiscoveryClient查詢服務例項 95
4.5.2 使用帶有Ribbon功能的Spring RestTemplate呼叫服務 97
4.5.3 使用Netflix Feign客戶端呼叫服務 98
4.6 小結 100
第5章 使用Spring Cloud和NetflixHystrix的客戶端彈性模式 101
5.1 什麼是客戶端彈性模式 102
5.1.1 客戶端負載均衡模式 103
5.1.2 斷路器模式 103
5.1.3 後備模式 103
5.1.4 艙壁模式 104
5.2 為什麼客戶端彈性很重要 104
5.3 進入Hystrix 107
5.4 搭建許可伺服器以使用Spring Cloud和Hystrix 107
5.5 使用Hystrix實現斷路器 109
5.5.1 對組織微服務的呼叫超時 111
5.5.2 定製斷路器的超時時間 112
5.6 後備處理 113
5.7 實現艙壁模式 115
5.8 基礎進階—微調Hystrix 118
5.9 執行緒上下文和Hystrix 122
5.9.1 ThreadLocal與Hystrix 122
5.9.2 HystrixConcurrencyStrategy實戰 125
5.10 小結 129
第6章 使用Spring Cloud和Zuul進行服務路由 131
6.1 什麼是服務閘道器 132
6.2 Spring Cloud和Netflix Zuul簡介 133
6.2.1 建立一個Zuul Spring Boot專案 134
6.2.2 為Zuul服務使用Spring Cloud註解 134
6.2.3 配置Zuul與Eureka進行通訊 135
6.3 在Zuul中配置路由 135
6.3.1 通過服務發現自動對映路由 136
6.3.2 使用服務發現手動對映路由 137
6.3.3 使用靜態URL手動對映路由 140
6.3.4 動態重新載入路由配置 142
6.3.5 Zuul和服務超時 143
6.4 Zuul的真正威力:過濾器 144
6.5 構建 個生成關聯ID的Zuul前置過濾器 147
6.6 構建接收關聯ID的後置過濾器 155
6.7 構建動態路由過濾器 157
6.7.1 構建路由過濾器的骨架 159
6.7.2 實現run()方法 159
6.7.3 轉發路由 161
6.7.4 整合 162
6.8 小結 163
第7章 保護微服務 164
7.1 OAuth2簡介 165
7.2 從小事做起:使用Spring和OAuth2來保護單個端點 167
7.2.1 建立EagleEye OAuth2驗證服務 167
7.2.2 使用OAuth2服務註冊客戶端應用程式 168
7.2.3 配置EagleEye使用者 171
7.2.4 驗證使用者 172
7.3 使用OAuth2保護組織服務 175
7.3.1 將Spring Security和OAuth2 jar新增到各個服務 176
7.3.2 配置服務以指向OAuth2驗證服務 176
7.3.3 定義誰可以訪問服務 177
7.3.4 傳播OAuth2訪問令牌 180
7.4 JSON Web Token與OAuth2 183
7.4.1 修改驗證服務以頒發JWT令牌 184
7.4.2 在微服務中使用JWT 188
7.4.3 擴充套件JWT令牌 189
7.4.4 從JWT令牌中解析自定義欄位 191
7.5 關於微服務安全的總結 193
7.6 小結 195
第8章 使用Spring Cloud Stream的事件驅動架構 196
8.1 為什麼使用訊息傳遞、EDA和微服務 197
8.1.1 使用同步請求-響應方式來傳達狀態變化 198
8.1.2 使用訊息傳遞在服務之間傳達狀態更改 199
8.1.3 訊息傳遞架構的缺點 201
8.2 Spring Cloud Stream簡介 202
8.3 編寫簡單的訊息生產者和消費者 205
8.3.1 在組織服務中編寫訊息生產者 205
8.3.2 在許可證服務中編寫訊息消費者 210
8.3.3 在實際操作中檢視訊息服務 213
8.4 Spring Cloud Stream用例:分散式快取 214
8.4.1 使用Redis來快取查詢 215
8.4.2 定義自定義通道 221
8.4.3 將其全部彙集在一起:在收到訊息時清除快取 222
8.5 小結 223
第9章 使用Spring Cloud Sleuth和Zipkin進行分散式跟蹤 224
9.1 Spring Cloud Sleuth與關聯ID 225
9.1.1 將Spring Cloud Sleuth新增到許可證服務和組織服務中 226
9.1.2 剖析Spring Cloud Sleuth跟蹤 226
9.2 日誌聚合與Spring Cloud Sleuth 227
9.2.1 Spring Cloud Sleuth與Papertrail實現實戰 229
9.2.2 建立Papertrail賬戶並配置syslog聯結器 230
9.2.3 將Docker輸出重定向到Papertrail 232
9.2.4 在Papertrail中搜尋Spring Cloud Sleuth的跟蹤ID 234
9.2.5 使用Zuul將關聯ID新增到HTTP響應 235
9.3 使用Open Zipkin進行分散式跟蹤 237
9.3.1 新增Spring Cloud Sleuth和Zipkin依賴項 238
9.3.2 配置服務以指向Zipkin 238
9.3.3 安裝和配置Zipkin伺服器 239
9.3.4 設定跟蹤級別 240
9.3.5 使用Zipkin跟蹤事務 241
9.3.6 視覺化更復雜的事務 243
9.3.7 捕獲訊息傳遞跟蹤 244
9.3.8 新增自定義跨度 246
9.4 小結 248
第 10章 部署微服務 250
10.1 EagleEye:在雲中建立核心基礎設施 251
10.1.1 使用 的RDS建立PostgreSQL資料庫 253
10.1.2 在AWS中建立Redis叢集 257
10.1.3 建立ECS叢集 258
10.2 基礎設施:部署EagleEye 262
10.3 構建和部署管道的架構 265
10.4 構建和部署管道實戰 268
10.5 開始構建和部署管道:GitHub和Travis CI 270
10.6 使服務能夠在Travis CI中構建 270
10.6.1 構建的核心執行時配置 273
10.6.2 安裝預構建工具 275
10.6.3 執行構建 277
10.6.4 標記原始碼 277
10.6.5 構建微服務並建立Docker映象 279
10.6.6 將映象推送到Docker Hub 279
10.6.7 在Amazon ECS中啟動服務 280
10.6.8 啟動平臺測試 280
10.7 關於構建和部署管道的總結 282
10.8 小結 282
附錄A 在桌面執行雲服務 283
附錄B OAuth2授權型別 291
關注公眾號:程式設計師生態圈,公眾號後續會有其他書籍贈送活動,大家需要什麼書籍的,可以在評論區留言
相關文章
- 《Linux 就該這麼學》書籍免費贈送 PDF 版本Linux
- 【免費贈書】重磅訊息,免費贈書啦,免費贈送《軟體效能測試、分析與調優實踐之路(第2版)》
- 面向網際網路企業免費贈送IT人文及管理類書籍
- 福利|Spring Cloud 微服務實戰速成指南SpringCloud微服務
- 開通DashScoped靈積模型服務,贈送免費額度。模型
- 社群福利:贈送圖靈原版樣書(已結束)圖靈
- 六一福利!十本最新熱門技術書籍免費送!(Python 、深度學習、容器服務、資料分析、專案管理)...Python深度學習專案管理
- 3月份福利, “0元包郵”贈送程式設計師技術開發書籍!程式設計師
- 閒魚Flutter圖片框架架構演進(超詳細)底部有實戰書籍贈送Flutter框架架構
- spring cloud 微服務實戰SpringCloud微服務
- 如何領取贈送的免費SSL證書?-中電華聯[ZDDO.CN]
- spring微服務實戰(二):使用Spring Boot建立微服務微服務Spring Boot
- 免費的程式設計中文書籍程式設計
- 施普林格(Springer)免費書籍Spring
- BAT新風向標:程式設計師有福利了!(速點,免費送)BAT程式設計師
- 福利來啦!VIP電影免費看!
- 有了它,免費下載英文專業書籍不再煩惱!
- 45本免費的JavaScript書籍資源JavaScript
- Spring Cloud Alibaba微服務實戰SpringCloud微服務
- spring微服務實戰(一):介紹Spring微服務
- Spring Cloud微服務基礎元件實戰SpringCloud微服務元件
- 福利來啦!Python資料合集免費領!!!Python
- 國慶後第一彈,免費送深入淺出 Java 微服務視訊Java微服務
- 微信朋友圈集贊 免費獲贈全球微服務架構高峰論壇門票微服務架構
- 迷渡:免費的程式設計中文書籍索引程式設計索引
- PHPthinking贈書了!PHPThinking
- 微服務閘道器實戰——Spring Cloud Gateway微服務SpringCloudGateway
- Spring Cloud 微服務實戰詳細筆記SpringCloud微服務筆記
- 書單 | 深度學習修煉祕籍 (文末贈書)深度學習
- 來了,送 25 本 Python 書Python
- 【轉】微服務實戰微服務
- 送福利:ROKID 語音開發板免費送,開啟你的物聯網之旅
- 《Python3網路爬蟲開發實戰》第二波抽獎贈書活動來了!Python爬蟲
- Project免費視訊教程來了Project
- 學習Linux/UNIX的線上免費書籍和課程Linux
- 7本免費的Ruby語言程式設計書籍(英文)程式設計
- [華章贈書]《跟老男孩學Linux運維:Shell程式設計實戰》點評贈書&微博轉發贈書Linux運維程式設計
- 開發者福利:好用免費的API分享API