注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Spring Cloud實戰(zhàn)

Spring Cloud實戰(zhàn)

Spring Cloud實戰(zhàn)

定 價:¥59.00

作 者: 胡書敏 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302527220 出版時間: 2019-06-01 包裝: 平裝
開本: 16開 頁數(shù): 219 字數(shù):  

內(nèi)容簡介

  本書以Spring Cloud微服務(wù)架構(gòu)為主線,依次通過案例講述Spring Cloud的常用組件??赐瓯緯螅蠹視容^熟悉基于 Spring Cloud微服務(wù)架構(gòu)的開發(fā)技術(shù)。 本書分為11章,內(nèi)容包括Spring Boot微服務(wù)入門、Spring Data連接數(shù)據(jù)庫、Eureka服務(wù)治理框架、Ribbon負載均衡組件、HyStrix服務(wù)容錯組件、Feign服務(wù)調(diào)用框架、Zuul網(wǎng)關(guān)組件、用Spring Cloud Config搭建配置中心、消息機制與消息驅(qū)動框架、微服務(wù)健康檢查與服務(wù)跟蹤,最后給出一個SpringBoot開發(fā)Web的實戰(zhàn)案例。 如果你想了解Spring Cloud微服務(wù)架構(gòu),并想以此進階到架構(gòu)師,那么本書是不錯的選擇。而且本書還附帶相關(guān)代碼和視頻,視頻里包含了所有案例的配置和運行方式,建議大家在觀看視頻、運行代碼的基礎(chǔ)上閱讀本書的文字,這樣能更高效地掌握Spring Cloud微服務(wù)開發(fā)技巧。

作者簡介

  胡書敏,在外企和互聯(lián)網(wǎng)公司有五年資深架構(gòu)師工作經(jīng)驗,博客園知名博主,出版過多本Java方面的書籍,搭建過多個支付和數(shù)據(jù)分析方面的微服務(wù)架構(gòu)。

圖書目錄

目   錄
第1章  通過Spring Boot入門微服務(wù)    1
1.1  Spring Boot、Spring Cloud與微服務(wù)架構(gòu)    1
1.1.1  通過和傳統(tǒng)架構(gòu)的對比了解微服務(wù)的優(yōu)勢    1
1.1.2  Spring Boot、Spring Cloud和微服務(wù)三者的關(guān)系    3
1.1.3  基于Netflix OSS的Spring Cloud的常用組件    4
1.2  通過Maven開發(fā)個Spring Boot項目    5
1.2.1  Maven是什么,能帶來什么幫助    5
1.2.2  通過Maven開發(fā)Spring Boot的HelloWorld程序    6
1.2.3  Controller類里處理Restful格式的請求    9
1.2.4  @SpringBootApplication注解等價于其他3個注解    11
1.2.5  通過配置文件實現(xiàn)熱部署    12
1.3  通過Actuator監(jiān)控Spring Boot運行情況    12
1.3.1  準備待監(jiān)控的項目    13
1.3.2  通過/info查看本站點的自定義信息    14
1.3.3  通過/health查看本站點的健康信息    14
1.3.4  通過/metrics查看本站點的各項指標信息    14
1.3.5  actuator在項目里的實際用法    15
1.4  本章小結(jié)    15
第2章  用Spring Data框架連接數(shù)據(jù)庫    16
2.1  Spring Data框架概述    16
2.2  Spring Data通過JPA連接MySQL    17
2.2.1  連接MySQL的案例分析    17
2.2.2  使用yml格式的配置文件    22
2.2.3  通過profile文件映射到不同的運行環(huán)境    23
2.3  通過JPA實現(xiàn)各種關(guān)聯(lián)關(guān)系    24
2.3.1  一對一關(guān)聯(lián)    24
2.3.2  一對多關(guān)聯(lián)    28
2.3.3  多對多關(guān)聯(lián)    30
2.4  本章小結(jié)    34
第3章  服務(wù)治理框架:Eureka    35
3.1  了解Eureka框架    35
3.1.1  Eureka能干什么    35
3.1.2  Eureka的框架圖    36
3.2  構(gòu)建基本的Eureka應(yīng)用    36
3.2.1  搭建Eureka服務(wù)器    36
3.2.2  編寫作為服務(wù)提供者的Eureka客戶端    38
3.2.3  編寫服務(wù)調(diào)用者的代碼    40
3.2.4  通過服務(wù)調(diào)用者調(diào)用服務(wù)    42
3.3  實現(xiàn)高可用的Eureka集群    43
3.3.1  集群的示意圖    43
3.3.2  編寫相互注冊的服務(wù)器端代碼    43
3.3.3  服務(wù)提供者只需向其中一臺服務(wù)器注冊    44
3.3.4  修改服務(wù)調(diào)用者的代碼    45
3.3.5  正常場景下的運行效果    45
3.3.6  一臺服務(wù)器宕機后的運行效果    46
3.4  Eureka的常用配置信息    46
3.4.1  查看客戶端和服務(wù)器端的配置信息    47
3.4.2  設(shè)置心跳檢測的時間周期    47
3.4.3  設(shè)置自我保護模式    47
3.4.4  其他常用配置信息    48
3.5  本章小結(jié)    49
第4章  負載均衡組件:Ribbon    50
4.1  網(wǎng)絡(luò)協(xié)議和負載均衡    50
4.1.1  基于4層和7層的負載均衡策略    50
4.1.2  硬件層和軟件層的負載均衡方案比較    51
4.1.3  常見的軟件負載均衡策略    51
4.1.4  Ribbon組件基本介紹    52
4.2  編寫基本的負載均衡程序    52
4.2.1  編寫服務(wù)器端的代碼    53
4.2.2  編寫客戶端調(diào)用的代碼    53
4.3  Ribbon中重要組件的用法    55
4.3.1  ILoadBalancer:負載均衡器接口    55
4.3.2  IRule:定義負載均衡規(guī)則的接口    56
4.3.3  IPing:判斷服務(wù)器是否可用的接口    57
4.4  Ribbon整合Eureka組件    58
4.4.1  整體框架的說明    59
4.4.2  編寫Eureka服務(wù)器    60
4.4.3  編寫Eureka服務(wù)提供者    61
4.4.4  在Eureka服務(wù)調(diào)用者里引入Ribbon    62
4.4.5  重寫IRule和IPing接口    64
4.4.6  實現(xiàn)雙服務(wù)器多服務(wù)提供者的高可用效果    67
4.5  配置Ribbon的常用參數(shù)    69
4.5.1  參數(shù)的影響范圍    69
4.5.2  歸納常用的參數(shù)    69
4.5.3  在類里設(shè)置Ribbon參數(shù)    70
4.6  本章小結(jié)    71
第5章  服務(wù)容錯組件:HyStrix    72
5.1  在微服務(wù)系統(tǒng)里引入Hystrix的必要性    72
5.1.1  通過一些算術(shù)題了解系統(tǒng)發(fā)生錯誤的概率    72
5.1.2  用通俗方式總結(jié)Hystrix的保護措施    73
5.2  通過案例了解Hystrix的各種使用方式    74
5.2.1  準備服務(wù)提供者    74
5.2.2  以同步方式調(diào)用正常工作的服務(wù)    75
5.2.3  以異步方式調(diào)用服務(wù)    77
5.2.4  調(diào)用不可用服務(wù)會啟動保護機制    78
5.2.5  調(diào)用Hystrix時引入緩存    80
5.2.6  歸納Hystrix的基本開發(fā)方式    82
5.3  通過Hystrix實踐各種容錯保護機制    82
5.3.1  強制開啟或關(guān)閉斷路器    82
5.3.2  根據(jù)流量情況按命令組開啟斷路器    83
5.3.3  降級服務(wù)后的自動恢復(fù)嘗試措施    85
5.3.4  線程級別的隔離機制    87
5.3.5  信號量級別的隔離機制    89
5.3.6  通過合并批量處理URL請求    90
5.4  Hystrix與Eureka的整合    94
5.4.1  準備Eureka服務(wù)器項目    94
5.4.2  服務(wù)提供者的代碼結(jié)構(gòu)    95
5.4.3  在服務(wù)提供者項目里引入斷路器機制    96
5.4.4  在服務(wù)調(diào)用者項目里引入合并請求機制    97
5.5  本章小結(jié)    100
第6章  服務(wù)調(diào)用框架:Feign    101
6.1  通過案例快速上手Feign    101
6.1.1  編寫服務(wù)注冊項目和服務(wù)提供項目    101
6.1.2  通過Feign調(diào)用服務(wù)    102
6.1.3  通過比較其他調(diào)用方式來了解Feign的封裝性    104
6.2  Feign的常見使用方式    105
6.2.1  通過繼承改善項目架構(gòu)    105
6.2.2  通過注解輸出調(diào)用日志    107
6.2.3  壓縮請求和返回以提升訪問效率    108
6.3  通過Feign使用Ribbon負載均衡特性    109
6.3.1  準備Eureka服務(wù)器以及多個服務(wù)提供者    109
6.3.2  通過Feign以Ribbon負載均衡的方式調(diào)用服務(wù)    110
6.4  Feign整合Hystrix    111
6.5  本章小結(jié)    113
第7章  微服務(wù)架構(gòu)的網(wǎng)關(guān)組件:Zuul    114
7.1  通過案例入門Zuul組件的用法    114
7.1.1  搭建簡單的基于Zuul組件的網(wǎng)關(guān)    114
7.1.2  通過運行結(jié)果體會Zuul轉(zhuǎn)發(fā)請求的效果    116
7.2  Zuul請求過濾器    116
7.2.1  http請求生命周期和Zuul過濾器    116
7.2.2  過濾器的常規(guī)用法    117
7.2.3  指定過濾器的優(yōu)先級    119
7.2.4  通過error過濾器處理路由時的異常情況    121
7.2.5  動態(tài)增加過濾器    123
7.3  通過Zuul實現(xiàn)路由功能的實踐方案    126
7.3.1  簡單路由的做法    126
7.3.2  通過forward跳轉(zhuǎn)到本地頁面    127
7.3.3  路由到具體的服務(wù)    128
7.3.4  定義映射url請求的規(guī)則    129
7.3.5  配置路由的例外規(guī)則    130
7.4  Zuul天然整合了Ribbon和Hystrix    131
7.4.1  案例的準備工作    131
7.4.2  Zuul組件包含Ribbon和Hystrix模塊的依賴    132
7.4.3  以Ribbon負載均衡的方式實現(xiàn)路由    132
7.4.4  在Zuul網(wǎng)關(guān)中引入Hystrix    134
7.5  本章小結(jié)    136
第8章  用Spring Cloud Config搭建配置中心    137
8.1  通過Spring Cloud Config搭建基于Git的配置中心    137
8.1.1  Spring Cloud Config中服務(wù)器和客戶端的體系結(jié)構(gòu)    137
8.1.2  在Git上準備配置文件    138
8.1.3  在服務(wù)器中連接Git倉庫    139
8.1.4  在客戶端讀取配置文件    141
8.2  搭建基于SVN的配置中心    142
8.2.1  準備SVN環(huán)境    143
8.2.2  編寫基于SVN的配置服務(wù)器代碼    144
8.2.3  在應(yīng)用中讀取基于SVN客戶端的配置    145
8.3  服務(wù)器和客戶端的其他常見用法    146
8.3.1  總結(jié)配置客戶端和服務(wù)器的作用    146
8.3.2  在服務(wù)端驗證配置倉庫訪問權(quán)限    147
8.3.3  在服務(wù)端配置身份驗證信息    147
8.3.4  訪問配置倉庫子目錄中的配置    148
8.3.5  在本地備份遠端倉庫中的配置    149
8.3.6  用本地屬性覆蓋遠端屬性    150
8.3.7  failFast屬性    151
8.3.8  與failFast配套的重試相關(guān)參數(shù)    151
8.4  Spring Cloud Config與Eureka的整合    153
8.4.1  本案例的體系結(jié)構(gòu)和項目說明    153
8.4.2  準備數(shù)據(jù)庫環(huán)境和Git配置信息    154
8.4.3  配置服務(wù)器與Eureka服務(wù)器合二為一    154
8.4.4  配置客戶端與Eureka客戶端合二為一    156
8.4.5  查看運行效果    158
8.5  本章小結(jié)    158
第9章  消息機制與消息驅(qū)動框架    159
9.1  在微服務(wù)中實現(xiàn)模塊間的通信    159
9.1.1  消息代理和消息中間件    159
9.1.2  Spring Cloud體系中的消息總線    160
9.1.3  Spring Cloud Stream:消息驅(qū)動框架    160
9.2  消息中間件的案例    161
9.2.1  RabbitMQ的安裝步驟    161
9.2.2  通過RabbitMQ發(fā)送和接收消息的案例    162
9.2.3  Kafka的安裝步驟    165
9.2.4  通過Kafka發(fā)送和接收消息的案例    166
9.3  通過消息總線封裝消息中間件    168
9.3.1  基于RabbitMQ的消息總線案例    168
9.3.2  基于Kafka的消息總線案例    169
9.4  Spring Cloud Stream組件的常見用法    170
9.4.1  實現(xiàn)基于RabbitMQ的案例    170
9.4.2  通過更換綁定器變更消息中間件    173
9.4.3  消費組案例演示    174
9.4.4  消息分區(qū)實例演示    175
9.5  本章小結(jié)    177
第10章  微服務(wù)健康檢查與服務(wù)跟蹤    178
10.1  通過Spring Boot Admin監(jiān)控微服務(wù)    178
10.1.1  監(jiān)控單個服務(wù)    178
10.1.2  與Eureka的整合    181
10.1.3  設(shè)置報警郵件    184
10.2  通過Sleuth組件跟蹤服務(wù)調(diào)用鏈路    185
10.2.1  基于Sleuth案例的總體說明    185
10.2.2  關(guān)于服務(wù)提供者案例的說明    186
10.2.3  關(guān)于服務(wù)調(diào)用者案例的說明    186
10.2.4  通過運行效果了解Sleuth組件    187
10.2.5  通過Sleuth組件分析問題的一般方法    188
10.3  整合Zipkin查詢和分析日志    188
10.3.1  搭建Zipkin服務(wù)器    188
10.3.2  從Zipkin圖表上查看Sleuth發(fā)來的日志    189
10.3.3  在MySQL中保存Zipkin數(shù)據(jù)    191
10.3.4  如何根據(jù)Zipkin結(jié)果觀察調(diào)用鏈路    193
10.4  本章小結(jié)    194
第11章  用Spring Boot開發(fā)Web案例    195
11.1  在Spring Boot中整合JSP及MVC    195
11.1.1  以Maven的形式創(chuàng)建Web項目    195
11.1.2  在Spring Boot中引入JSP(基于Maven)    197
11.1.3  在Spring Boot中引入MVC架構(gòu)和數(shù)據(jù)庫服務(wù)    198
11.2  Spring Security與Spring Boot的整合    201
11.2.1  身份驗證的簡單做法    201
11.2.2  進行動態(tài)身份驗證的做法    204
11.2.3  Spring Boot Security身份驗證的開發(fā)要點    205
11.2.4  根據(jù)用戶的角色分配不同的資源    205
11.3  在Web項目中整合Eureka、Ribbon等組件    210
11.3.1  本案例的框架與包含的項目說明    210
11.3.2  開發(fā)Eureka服務(wù)器模塊    211
11.3.3  開發(fā)前端Web項目    211
11.3.4  開發(fā)提供用戶驗證的項目    215
11.3.5  開發(fā)提供賬戶查詢功能的項目(含負載均衡)    216
11.4  本章小結(jié)    219
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號