注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Vert.x實(shí)戰(zhàn)

Vert.x實(shí)戰(zhàn)

Vert.x實(shí)戰(zhàn)

定 價(jià):¥98.00

作 者: [法] 于連·蓬熱(Julien Ponge) 著,黃灰紅 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302605676 出版時(shí)間: 2022-06-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 312 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  主要內(nèi)容● 如何構(gòu)建反應(yīng)式的服務(wù)● 如何對(duì)外部服務(wù)的故障做出響應(yīng)● 如何進(jìn)行水平擴(kuò)展● Vert.x工具包的架構(gòu)及其測(cè)試方式● 如何基于Docker和Kubernetes部署服務(wù)

作者簡(jiǎn)介

  本書作者Julien Ponge是Red Hat公司的首席軟件工程師,致力于Eclipse Vert.x項(xiàng)目。

圖書目錄

第Ⅰ部分  基于Vert.x的異步編程基本原理
第1章  Vert.x、異步編程和反應(yīng)式系統(tǒng) 3
1.1  分布式和網(wǎng)絡(luò)化是常態(tài) 3
1.2  我們不是在孤島上生活 4
1.3  網(wǎng)絡(luò)上沒有免費(fèi)的午餐 5
1.4  簡(jiǎn)潔的阻塞式API 5
1.5  阻塞式API浪費(fèi)了資源,增加了成本 7
1.6  基于非阻塞I/O的異步
編程 9
1.7  事件驅(qū)動(dòng)的多路復(fù)用:事件循環(huán) 12
1.8  什么是反應(yīng)式系統(tǒng) 15
1.9  反應(yīng)式還有哪些含義 16
1.10  什么是Vert.x 17
1.11  你的第一個(gè)Vert.x應(yīng)用  程序 18
1.11.1  準(zhǔn)備項(xiàng)目 18
1.11.2  VertxEcho類 19
1.11.3  回調(diào)函數(shù)的角色 21
1.11.4  它是反應(yīng)式的嗎 22
1.12  Vert.x的替代品 23
1.13  本章小結(jié) 25
第2章  Verticle:Vert.x的基本處理單元 27
2.1  編寫一個(gè)Verticle 27
2.1.1  準(zhǔn)備項(xiàng)目 28
2.1.2  實(shí)現(xiàn)Verticle類 29
2.1.3  運(yùn)行并初次觀察 30
2.2  關(guān)于Verticle的更多細(xì)節(jié) 32
2.2.1  阻塞與事件循環(huán) 32
2.2.2  生命周期事件的異步通知 33
2.2.3  部署Verticle 35
2.2.4  傳遞配置參數(shù) 38
2.3  當(dāng)代碼需要阻塞時(shí) 39
2.3.1  Worker Verticle 39
2.3.2  executeBlocking方法 40
2.4  Verticle中到底有什么 42
2.4.1  Verticle及其環(huán)境 42
2.4.2  關(guān)于Verticle Context的更多細(xì)節(jié) 43
2.4.3  橋接Vert.x線程和非Vert.x線程 45
2.5  本章小結(jié) 46
第3章  事件總線:Vert.x應(yīng)用程序的骨干 47
3.1  什么是事件總線 47
3.1.1  事件總線是不是另一種消息代理 48
3.1.2  “點(diǎn)對(duì)點(diǎn)”模式 49
3.1.3  “請(qǐng)求-應(yīng)答”模式 49
3.1.4  “發(fā)布-訂閱”模式 50
3.2  事件總線的示例 51
3.2.1  溫度傳感器Verticle 52
3.2.2  監(jiān)聽器Verticle 53
3.2.3  傳感器數(shù)據(jù)Verticle 54
3.2.4  HTTP服務(wù)器Verticle 54
3.2.5  啟動(dòng)應(yīng)用程序 58
3.3  集群化和分布式的事件總線 59
3.3.1  Vert.x中的集群 59
3.3.2  從事件總線到分布式事件總線 60
3.4  本章小結(jié) 63
第4章  異步數(shù)據(jù)和事件流 65
4.1  統(tǒng)一的流模型 65
4.2  什么是背壓 68
4.3  開發(fā)一個(gè)音樂(lè)流點(diǎn)唱機(jī) 70
4.3.1  功能與用法 71
4.3.2  HTTP處理:宏觀視圖 73
4.3.3  點(diǎn)唱機(jī)Verticle的基礎(chǔ) 73
4.3.4  傳入的HTTP連接 75
4.3.5  盡可能高效地下載 76
4.3.6  讀取MP3文件,但不能太快 77
4.4  解析簡(jiǎn)單的流 81
4.5  解析復(fù)雜的流 83
4.6  關(guān)于流獲取模式的簡(jiǎn)短說(shuō)明 86
4.7  本章小結(jié) 88
第5章  回調(diào)以外的異步編程模型 89
5.1  構(gòu)建異步操作:一個(gè)邊緣服務(wù)的示例 89
5.1.1  應(yīng)用場(chǎng)景 90
5.1.2  溫度傳感器Verticle 91
5.1.3  快照服務(wù)Verticle 92
5.2  回調(diào) 93
5.2.1  實(shí)現(xiàn) 93
5.2.2  運(yùn)行 95
5.2.3  “回調(diào)地獄”不是根本問(wèn)題 96
5.3  Future和Promise 98
5.3.1  Vert.x中的Future和Promise 98
5.3.2  Vert.x 4中基于Future的API 100
5.3.3  與CompletionStage API的互操作 100
5.3.4  使用Vert.x Future特性實(shí)現(xiàn)的Collector 
Service 102
5.4  反應(yīng)式擴(kuò)展 103
5.4.1  RxJava的簡(jiǎn)要說(shuō)明 104
5.4.2  RxJava與Vert.x 107
5.4.3  用RxJava實(shí)現(xiàn)的CollectorService 108
5.5  Kotlin協(xié)程 111
5.5.1  什么是協(xié)程 111
5.5.2  Vert.x與Kotlin的協(xié)程 112
5.5.3  使用協(xié)程實(shí)現(xiàn)邊緣服務(wù) 113
5.6  究竟應(yīng)該用哪一種模型 115
5.7  本章小結(jié) 116
第6章  不只是事件總線 117
6.1  用服務(wù)API重新實(shí)現(xiàn)溫度傳感器 117
6.2  RPC的回歸 118
6.3  定義服務(wù)接口 119
6.4  服務(wù)的實(shí)現(xiàn) 121
6.5  啟用Proxy代碼自動(dòng)生成 122
6.6  部署事件總線服務(wù) 122
6.7  回調(diào)之外的服務(wù)代理 123
6.8  Vert.x中的測(cè)試 125
6.8.1  在Vert.x中使用JUnit 5 125
6.8.2  測(cè)試DataVerticle 126
6.8.3  運(yùn)行測(cè)試 129
6.9  本章小結(jié) 129
第Ⅱ部分  用Vert.x開發(fā)反應(yīng)式服務(wù)
第7章  設(shè)計(jì)一個(gè)反應(yīng)式應(yīng)用程序 133
7.1  反應(yīng)式應(yīng)用程序的必要條件 133
7.2  “一萬(wàn)步挑戰(zhàn)” 134
7.3  一個(gè)應(yīng)用程序,多個(gè)服務(wù) 137
7.4  服務(wù)規(guī)范 139
7.4.1  用戶資料服務(wù) 139
7.4.2  數(shù)據(jù)收集服務(wù) 140
7.4.3  用戶活動(dòng)服務(wù) 141
7.4.4  對(duì)外接口服務(wù) 143
7.4.5  用戶Web應(yīng)用程序 144
7.4.6  事件統(tǒng)計(jì)服務(wù) 145
7.4.7  賀信服務(wù) 146
7.4.8  公告牌Web應(yīng)用程序 146
7.5  運(yùn)行應(yīng)用程序 147
7.6  本章小結(jié) 149
第8章  Web技術(shù)棧 151
8.1  實(shí)現(xiàn)對(duì)外接口服務(wù) 152
8.1.1  路由HTTP請(qǐng)求 152
8.1.2  發(fā)起HTTP請(qǐng)求 154
8.2  用JWT令牌進(jìn)行訪問(wèn)控制 156
8.2.1  使用JWT令牌 156
8.2.2  JWT令牌中有
什么 158
8.2.3  用Vert.x處理JWT令牌 159
8.2.4  用Vert.x簽發(fā)JWT令牌 161
8.3  跨域資源共享(CORS) 162
8.3.1  問(wèn)題在哪里 162
8.3.2  在Vert.x中支持CORS 164
8.4  一個(gè)現(xiàn)代化的Web前端 165
8.4.1  Vue.js 165
8.4.2  Vue.js應(yīng)用程序結(jié)構(gòu)及構(gòu)建集成 166
8.4.3  后端集成的效果演示 168
8.4.4  在Vert.x中服務(wù)靜態(tài)內(nèi)容 170
8.5  編寫集成測(cè)試 171
8.6  本章小結(jié) 175
第9章  Vert.x中的消息機(jī)制與事件流 177
9.1  用Vert.x實(shí)現(xiàn)基于事件驅(qū)動(dòng)的服務(wù) 177
9.1.1  Vert.x為我們提供了什么 178
9.1.2  我們會(huì)用到的中間件和服務(wù) 179
9.1.3  AMQP和Message Broker簡(jiǎn)介 179
9.1.4  Kafka簡(jiǎn)介 180
9.2  通過(guò)HTTP和AMQP
可靠地接收消息 181
9.2.1  從AMQP接收數(shù)據(jù) 181
9.2.2  將AMQP消息轉(zhuǎn)換成Kafka記錄 183
9.2.3  從HTTP接收數(shù)據(jù) 185
9.3  發(fā)送賀信 186
9.3.1  監(jiān)聽每日步數(shù)變化 187
9.3.2  發(fā)送郵件 188
9.4  集成測(cè)試 190
9.4.1  測(cè)試收取功能 190
9.4.2  測(cè)試賀信功能 193
9.5  本章小結(jié) 196
第10章  用數(shù)據(jù)庫(kù)進(jìn)行持久化狀態(tài)管理 197
10.1  數(shù)據(jù)庫(kù)與Vert.x 197
10.1.1  Eclipse Vert.x支持的數(shù)據(jù)庫(kù)客戶端 198
10.1.2  數(shù)據(jù)對(duì)象映射并非必需 199
10.2  使用MongoDB的用戶資料服務(wù) 200
10.2.1  數(shù)據(jù)模型 200
10.2.2  用戶資料API Verticle及其初始化 201
10.2.3  校驗(yàn)用戶輸入 202
10.2.4  在MongoDB中添加用戶 203
10.2.5  用戶的認(rèn)證 206
10.2.6  獲取用戶數(shù)據(jù) 207
10.2.7  更新用戶數(shù)據(jù) 208
10.3  使用PostgreSQL的用戶活動(dòng)服務(wù) 209
10.3.1  服務(wù)的數(shù)據(jù)模型 209
10.3.2  打開一個(gè)連接池 210
10.3.3  設(shè)備更新事件的生命周期 210
10.3.4  插入新記錄 211
10.3.5  生成設(shè)備的每日運(yùn)動(dòng)更新 213
10.3.6  用戶活動(dòng)服務(wù)的查詢接口 214
10.4  集成測(cè)試 215
10.4.1  測(cè)試用戶資料服務(wù) 215
10.4.2  測(cè)試用戶活動(dòng)服務(wù)接口 218
10.4.3  測(cè)試用戶活動(dòng)服務(wù)的事件處理 219
10.5  本章小結(jié) 222
第11章  端到端的實(shí)時(shí)反應(yīng)式事件處理 223
11.1  使用Kafka和RxJava實(shí)現(xiàn)高級(jí)的流式數(shù)據(jù)處理 223
11.1.1  生成用戶當(dāng)天步數(shù)更新 224
11.1.2  計(jì)算數(shù)據(jù)收集服務(wù)的吞吐量 226
11.1.3  計(jì)算各城市的數(shù)據(jù)趨勢(shì) 227
11.2  實(shí)時(shí)的反應(yīng)式Web應(yīng)用  程序 229
11.2.1  將Kafka消息轉(zhuǎn)發(fā)至Vert.x事件總線 230
11.2.2  橋接事件總線和Web應(yīng)用程序 231
11.2.3  Web應(yīng)用程序基于Kafka消息的實(shí)時(shí)更新 233
11.3  流與狀態(tài) 235
11.3.1  數(shù)據(jù)更新流 235
11.3.2  排名數(shù)據(jù)的水合階段 235
11.3.3  根據(jù)消息流周期性地更新排名 237
11.4  本章小結(jié) 240
第12章  通過(guò)負(fù)載測(cè)試和混沌測(cè)試提升系統(tǒng)響應(yīng)能力 241
12.1  初始實(shí)驗(yàn):系統(tǒng)的性能  好嗎 242
12.1.1  負(fù)載測(cè)試前的一些考量 242
12.1.2  用Locust模擬用戶 243
12.1.3  用Hey進(jìn)行負(fù)載測(cè)試 246
12.2  混沌測(cè)試 250
12.2.1  測(cè)試方案 250
12.2.2  用Pumba進(jìn)行混沌測(cè)試 251
12.2.3  系統(tǒng)尚不具備回彈性 253
12.3  從“可擴(kuò)展性”到“可擴(kuò)展
  性 回彈性” 254
12.3.1  強(qiáng)制超時(shí) 254
12.3.2  使用斷路器 256
12.3.3  回彈性與后備策略 260
12.4  本章小結(jié) 264
第13章  容器原生的Vert.x 265
13.1  云環(huán)境里的溫度傳感器 266
13.1.1  溫度傳感器服務(wù) 267
13.1.2  傳感器網(wǎng)關(guān) 268
13.1.3  Heat API 269
13.1.4  部署本地集群 271
13.2  讓服務(wù)運(yùn)行在  Kubernetes中 275
13.2.1  構(gòu)建容器鏡像 276
13.2.2  集群與Kubernetes 278
13.2.3  Kubernetes的部署描述文件 280
13.3  Kubernetes中的一等公民 284
13.3.1  健康檢查 284
13.3.2  數(shù)據(jù)指標(biāo) 288
13.4  是結(jié)束也是開始 291
13.5  本章小結(jié) 291
 
 

本目錄推薦

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