注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)企業(yè)級Java微服務(wù)實戰(zhàn)

企業(yè)級Java微服務(wù)實戰(zhàn)

企業(yè)級Java微服務(wù)實戰(zhàn)

定 價:¥79.80

作 者: (美)肯·芬尼根
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302542681 出版時間: 2020-01-01 包裝:
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  對于大型應(yīng)用,如果能從小而簡單的組件起步,開發(fā)和維護(hù)就會變得更容易。現(xiàn)在的Java開發(fā)者享有廣泛的支持微服務(wù)應(yīng)用開發(fā)的工具,包括大小合適的應(yīng)用服務(wù),開源的框架,以及定義良好的模式。重要的是,你可以使用已有的Java技能開發(fā)微服務(wù)應(yīng)用。《企業(yè)級Java微服務(wù)實戰(zhàn)》講授基于JVM的微服務(wù)應(yīng)用的設(shè)計和構(gòu)建。首先通過與傳統(tǒng)的Java EE應(yīng)用進(jìn)行比較來學(xué)習(xí)微服務(wù)的設(shè)計。作者Ken Finnigan以實用的角度介紹了全景的概念,以及用于實現(xiàn)它們的工具和技術(shù)。你會探索微服務(wù)生態(tài)中的組件,比如用于容錯的Netflix Hystrix,并且掌握恰如其分的應(yīng)用服務(wù)器(JeAS)的使用方法。為了確保平穩(wěn)的運維,還會研究監(jiān)控、安全性、測試以及云上的部署。

作者簡介

  肯·芬尼根(Ken Finnigan),曾擔(dān)任全球各地企業(yè)的顧問和軟件工程師,具有超過20年的從業(yè)經(jīng)驗。他領(lǐng)導(dǎo)著Thorntail項目,該項目旨在讓使用Java和Java EE為云開發(fā)微服務(wù)變得盡可能容易。他曾擔(dān)任LiveOak和其他JBoss項目的項目負(fù)責(zé)人。

圖書目錄

第Ⅰ部分 微服務(wù)基礎(chǔ)
第1章 企業(yè)級Java微服務(wù) 3
1.1 企業(yè)級Java 簡史 3
1.1.1 什么是企業(yè)級Java 4
1.1.2 典型的企業(yè)級Java架構(gòu) 4
1.1.3 什么是單體 7
1.1.4 與單體相關(guān)的問題有哪些 8
1.2 微服務(wù)和分布式架構(gòu) 9
1.2.1 只做好一件事 9
1.2.2 什么是分布式架構(gòu) 10
1.2.3 為什么要關(guān)心分布式 11
1.2.4 可以做些什么幫助開發(fā)微服務(wù) 13
1.2.5 項目產(chǎn)品 13
1.2.6 持續(xù)集成和持續(xù)交付 13
1.3 遷移至微服務(wù)的模式 14
1.3.1 領(lǐng)域驅(qū)動模式 14
1.3.2 大爆炸模式 16
1.3.3 絞殺者模式 16
1.3.4 混合模式 17
1.4 什么是企業(yè)級Java微服務(wù) 18
1.5 本章小結(jié) 20
第2章 開發(fā)一個簡單的RESTful微服務(wù) 21
2.1 Cayambe單體 21
2.2 新管理站點 23
2.2.1 用例 25
2.2.2 應(yīng)用的架構(gòu) 25
2.2.3 使用JAX-RS創(chuàng)建RESTful端點 27
2.2.4 運行 30
2.3 本章小結(jié) 32
第3章 恰如其分的微服務(wù)應(yīng)用服務(wù)器 33
3.1 恰如其分的應(yīng)用服務(wù)器 33
3.1.1 什么是JeAS 34
3.1.2 JeAS的優(yōu)點 37
3.1.3 Eclipse MicroProfile 39
3.2 選擇恰如其分的應(yīng)用服務(wù)器 40
3.2.1 海灘度假示例應(yīng)用 40
3.2.2 Dropwizard——原始的有主見的微服務(wù)運行時 42
3.2.3 Payara Micro ——精簡到JAR中的Java EE應(yīng)用服務(wù)器 45
3.2.4 Spring Boot——有主見的Spring微服務(wù) 48
3.2.5 Thorntail——最靈活的JeAS運行時 51
3.2.6 如何比較它們 53
3.3 本章小結(jié) 54
第4章 微服務(wù)的測試 55
4.1 需要哪些類型的測試 55
4.2 單元測試 56
4.3 什么是不可變性 59
4.4 集成測試 60
4.5 消費者驅(qū)動的契約測試 68
4.6 額外的閱讀 75
4.7 額外的練習(xí) 76
4.8 本章小結(jié) 76
第5章 云原生開發(fā) 77
5.1 云到底是什么 77
5.2 服務(wù)模型 78
5.3 云原生開發(fā) 80
5.4 部署到云 81
5.5 開始使用Minishift 82
5.6 微服務(wù)的云部署 83
5.7 在云中測試 87
5.8 額外練習(xí) 90
5.9 本章小結(jié) 91
第Ⅱ部分 實現(xiàn)企業(yè)級Java微服務(wù)
第6章 消費微服務(wù) 95
6.1 使用Java客戶端庫消費微服務(wù) 99
6.1.1 java.net 99
6.1.2 Apache HttpClient 102
6.2 使用JAX-RS客戶端庫消費微服務(wù) 103
6.2.1 JAX-RS客戶端 103
6.2.2 RESTEasy客戶端 106
6.3 本章小結(jié) 109
第7章 服務(wù)發(fā)現(xiàn) 111
7.1 為什么微服務(wù)需要被發(fā)現(xiàn) 111
7.1.1 什么是服務(wù)發(fā)現(xiàn) 112
7.1.2 服務(wù)發(fā)現(xiàn)和服務(wù)注冊中心有什么好處 114
7.1.3 無狀態(tài)與有狀態(tài)的微服務(wù) 116
7.1.4 什么是Netflix Ribbon 116
7.2 使用Thorntail注冊微服務(wù) 118
7.2.1 Thorntail的拓?fù)? 118
7.2.2 使用拓?fù)渥晕⒎?wù) 120
7.3 使用Thorntail消費已注冊的微服務(wù) 123
7.3.1 使用Netflix Ribbon進(jìn)行服務(wù)查找 123
7.3.2 使用RESTEasy客戶端進(jìn)行服務(wù)查找 127
7.4 本章小結(jié) 130
第8章 容錯和監(jiān)控的策略 131
8.1 分布式架構(gòu)中的微服務(wù)故障 131
8.2 網(wǎng)絡(luò)故障 134
8.3 緩解故障 134
8.3.1 Hystrix是什么 134
8.3.2 斷路器 137
8.3.3 隔艙 140
8.3.4 回退 142
8.3.5 請求緩存 143
8.3.6 綜合運用 144
8.3.7 Hystrix儀表盤 146
8.4 把Hystrix添加到Payment微服務(wù) 148
8.4.1 使用Hystrix與RESTEasy客戶端 149
8.4.2 使用Hystrix與Ribbon客戶端 152
8.5 本章小結(jié) 153
第9章 微服務(wù)的安全 155
9.1 保護(hù)微服務(wù)的重要性 155
9.1.1 為什么安全性很重要 155
9.1.2 安全性需要解決哪些問題 157
9.2 使用Keycloak 159
9.2.1 理解Keycloak的特性 159
9.2.2 設(shè)置Keycloak 159
9.3 保護(hù)Stripe微服務(wù) 163
9.3.1 配置Keycloak 163
9.3.2 保護(hù)Stripe資源 165
9.3.3 在Payment資源中進(jìn)行身份驗證 167
9.3.4 測試受保護(hù)的微服務(wù) 168
9.4 捕獲用戶身份驗證 170
9.4.1 配置Keycloak 171
9.4.2 保護(hù)類別刪除 172
9.4.3 在UI中對用戶進(jìn)行身份驗證 173
9.4.4 測試新UI和服務(wù) 176
9.5 本章小結(jié) 177
第10章 構(gòu)建微服務(wù)混合體 179
10.1 Cayambe單體 179
10.2 運行Cayambe單體 181
10.2.1 配置數(shù)據(jù)庫 182
10.2.2 配置WildFly 182
10.2.3 運行Cayambe 184
10.3 Cayambe混合體 185
10.3.1 與Payment微服務(wù)集成 187
10.3.2 集成Admin微服務(wù) 192
10.3.3 新的管理UI 193
10.3.4 Cayambe混合體小結(jié) 193
10.4 部署到混合云中 193
10.4.1 數(shù)據(jù)庫 194
10.4.2 安全性 196
10.4.3 微服務(wù) 197
10.4.4 Cayambe混合體 197
10.4.5 Cayambe EAR 199
10.4.6 管理UI 199
10.5 本章小結(jié) 199
第11章 使用Apache Kafka 201
11.1 Apache Kafka能做什么 201
11.1.1 數(shù)據(jù)流 201
11.1.2 Apache Kafka 202
11.2 用數(shù)據(jù)流簡化單體架構(gòu) 206
11.3 部署并使用Kafka來實現(xiàn)數(shù)據(jù)流 208
11.3.1 Openshift中的Kafka 208
11.3.2 Admin微服務(wù) 210
11.3.3 Kafka消費者 212
11.4 額外練習(xí) 216
11.5 本章小結(jié) 216
附錄A Spring Boot微服務(wù) 217
A.1 剖析Spring Boot項目 217
A.1.1 查看一個新初始化的Spring Boot項目 217
A.1.2 啟動Spring 218
A.1.3 測試Spring Boot應(yīng)用 219
A.1.4 配置應(yīng)用的屬性 220
A.2 Spring Boot啟動器依賴項 221
A.2.1 使用啟動器依賴項 221
A.2.2 指定基于方面的依賴項 222
A.2.3 重寫啟動器傳遞的依賴項 223
A.3 開發(fā)Spring Boot應(yīng)用 225
A.3.1 專注于應(yīng)用的功能 225
A.3.2 定義領(lǐng)域 225
A.3.3 定義資源庫接口 226
A.3.4 創(chuàng)建Web接口 227
A.4 Spring Boot測試 230
A.5 本附錄小結(jié) 233

本目錄推薦

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