定 價(jià):¥79.00
作 者: | 朱忠華 著 |
出版社: | 電子工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 編程語(yǔ)言與程序設(shè)計(jì) 計(jì)算機(jī)?網(wǎng)絡(luò) |
ISBN: | 9787121329913 | 出版時(shí)間: | 2017-11-01 | 包裝: | |
開本: | 頁(yè)數(shù): | 字?jǐn)?shù): |
第1章 RabbitMQ簡(jiǎn)介 1
1.1 什么是消息中間件 2
1.2 消息中間件的作用 3
1.3 RabbitMQ的起源 4
1.4 RabbitMQ的安裝及簡(jiǎn)單使用 6
1.4.1 安裝Erlang 7
1.4.2 RabbitMQ的安裝 8
1.4.3 RabbitMQ的運(yùn)行 8
1.4.4 生產(chǎn)和消費(fèi)消息 10
1.5 小結(jié) 14
第2章 RabbitMQ入門 15
2.1 相關(guān)概念介紹 16
2.1.1 生產(chǎn)者和消費(fèi)者 16
2.1.2 隊(duì)列 18
2.1.3 交換器、路由鍵、綁定 19
2.1.4 交換器類型 21
2.1.5 RabbitMQ運(yùn)轉(zhuǎn)流程 23
2.2 AMQP協(xié)議介紹 26
2.2.1 AMQP生產(chǎn)者流轉(zhuǎn)過程 27
2.2.2 AMQP消費(fèi)者流轉(zhuǎn)過程 29
2.2.3 AMQP命令概覽 30
2.3 小結(jié) 32
第3章 客戶端開發(fā)向?qū)?33
3.1 連接RabbitMQ 34
3.2 使用交換器和隊(duì)列 36
3.2.1 exchangeDeclare方法詳解 37
3.2.2 queueDeclare方法詳解 39
3.2.3 queueBind方法詳解 41
3.2.4 exchangeBind方法詳解 42
3.2.5 何時(shí)創(chuàng)建 43
3.3 發(fā)送消息 44
3.4 消費(fèi)消息 46
3.4.1 推模式 46
3.4.2 拉模式 49
3.5 消費(fèi)端的確認(rèn)與拒絕 50
3.6 關(guān)閉連接 52
3.7 小結(jié) 54
第4章 RabbitMQ進(jìn)階 55
4.1 消息何去何從 56
4.1.1 mandatory參數(shù) 56
4.1.2 immediate參數(shù) 57
4.1.3 備份交換器 58
4.2 過期時(shí)間(TTL) 60
4.2.1 設(shè)置消息的TTL 60
4.2.2 設(shè)置隊(duì)列的TTL 62
4.3 死信隊(duì)列 63
4.4 延遲隊(duì)列 65
4.5 優(yōu)先級(jí)隊(duì)列 67
4.6 RPC實(shí)現(xiàn) 68
4.7 持久化 72
4.8 生產(chǎn)者確認(rèn) 74
4.8.1 事務(wù)機(jī)制 74
4.8.2 發(fā)送方確認(rèn)機(jī)制 77
4.9 消費(fèi)端要點(diǎn)介紹 84
4.9.1 消息分發(fā) 85
4.9.2 消息順序性 87
4.9.3 棄用QueueingConsumer 88
4.10 消息傳輸保障 90
4.11 小結(jié) 91
第5章 RabbitMQ管理 92
5.1 多租戶與權(quán)限 93
5.2 用戶管理 97
5.3 Web端管理 99
5.4 應(yīng)用與集群管理 105
5.4.1 應(yīng)用管理 105
5.4.2 集群管理 108
5.5 服務(wù)端狀態(tài) 111
5.6 HTTP API接口管理 121
5.7 小結(jié) 130
第6章 RabbitMQ配置 131
6.1 環(huán)境變量 132
6.2 配置文件 136
6.2.1 配置項(xiàng) 137
6.2.2 配置加密 140
6.2.3 優(yōu)化網(wǎng)絡(luò)配置 142
6.3 參數(shù)及策略 146
6.4 小結(jié) 151
第7章 RabbitMQ運(yùn)維 152
7.1 集群搭建 153
7.1.1 多機(jī)多節(jié)點(diǎn)配置 154
7.1.2 集群節(jié)點(diǎn)類型 158
7.1.3 剔除單個(gè)節(jié)點(diǎn) 160
7.1.4 集群節(jié)點(diǎn)的升級(jí) 162
7.1.5 單機(jī)多節(jié)點(diǎn)配置 163
7.2 查看服務(wù)日志 164
7.3 單節(jié)點(diǎn)故障恢復(fù) 172
7.4 集群遷移 173
7.4.1 元數(shù)據(jù)重建 174
7.4.2 數(shù)據(jù)遷移和客戶端連接的切換 183
7.4.3 自動(dòng)化遷移 185
7.5 集群監(jiān)控 189
7.5.1 通過HTTP API接口提供監(jiān)控?cái)?shù)據(jù) 189
7.5.2 通過客戶端提供監(jiān)控?cái)?shù)據(jù) 196
7.5.3 檢測(cè)RabbitMQ服務(wù)是否健康 199
7.5.4 元數(shù)據(jù)管理與監(jiān)控 203
7.6 小結(jié) 205
第8章 跨越集群的界限 206
8.1 Federation 207
8.1.1 聯(lián)邦交換器 207
8.1.2 聯(lián)邦隊(duì)列 214
8.1.3 Federation的使用 216
8.2 Shovel 223
8.2.1 Shovel的原理 224
8.2.2 Shovel的使用 227
8.2.3 案例:消息堆積的治理 233
8.3 小結(jié) 235
第9章 RabbitMQ高階 237
9.1 存儲(chǔ)機(jī)制 238
9.1.1 隊(duì)列的結(jié)構(gòu) 240
9.1.2 惰性隊(duì)列 243
9.2 內(nèi)存及磁盤告警 245
9.2.1 內(nèi)存告警 246
9.2.2 磁盤告警 249
9.3 流控 250
9.3.1 流控的原理 250
9.3.2 案例:打破隊(duì)列的瓶頸 253
9.4 鏡像隊(duì)列 263
9.5 小結(jié) 269
第10章 網(wǎng)絡(luò)分區(qū) 270
10.1 網(wǎng)絡(luò)分區(qū)的意義 271
10.2 網(wǎng)絡(luò)分區(qū)的判定 272
10.3 網(wǎng)絡(luò)分區(qū)的模擬 275
10.4 網(wǎng)絡(luò)分區(qū)的影響 279
10.4.1 未配置鏡像 279
10.4.2 已配置鏡像 282
10.5 手動(dòng)處理網(wǎng)絡(luò)分區(qū) 284
10.6 自動(dòng)處理網(wǎng)絡(luò)分區(qū) 289
10.6.1 pause-minority模式 289
10.6.2 pause-if-all-down模式 290
10.6.3 autoheal模式 291
10.6.4 挑選哪種模式 292
10.7 案例:多分區(qū)情形 293
10.8 小結(jié) 296
第11章 RabbitMQ擴(kuò)展 297
11.1 消息追蹤 298
11.1.1 Firehose 298
11.1.2 rabbitmq_tracing插件 301
11.1.3 案例:可靠性檢測(cè) 305
11.2 負(fù)載均衡 310
11.2.1 客戶端內(nèi)部實(shí)現(xiàn)負(fù)載均衡 312
11.2.2 使用HAProxy實(shí)現(xiàn)負(fù)載均衡 314
11.2.3 使用Keepalived實(shí)現(xiàn)高可靠負(fù)載均衡 318
11.2.4 使用Keepalived+LVS實(shí)現(xiàn)負(fù)載均衡 325
11.3 小結(jié) 330
附錄A 集群元數(shù)據(jù)信息示例 331
附錄B /api/nodes接口詳細(xì)內(nèi)容 333
附錄C 網(wǎng)絡(luò)分區(qū)圖譜 336