內容介紹
本書從消息中間件的概念和RabbitMQ的曆史切入,主要闡述RabbitMQ的安裝、使用、配置、管理、運維、原理、擴展等方麵的細節。本書大緻可以分為基礎篇、進階篇和高階篇三個部分。基礎篇1先介紹RabbitMQ的基本安裝及使用方式,方便零基礎的讀者以*舒適的方式融入到RabbitMQ之中。其次介紹RabbitMQ的基本概念,包括生産者、消費者、交換器、隊列、綁定等。之後通過Java語言講述瞭客戶端如何與RabbitMQ建立(關閉)連接、聲明(刪除)交換器、隊列、綁定關係,以及如何發送和消費消息等。進階篇講述RabbitMQ的 TTL、死信、延遲隊列、優先級隊列、RPC、消息持久化、生産端和消費端的消息確認機製等內容,以期讀者能夠掌握RabbitMQ的使用精髓。本書中間篇幅主要從RabbitMQ 的管理、配置、運維這三個角度來為讀者提供幫助文檔及解決問題的思路。高階篇主要闡述RabbitMQ的存儲機製、流控及鏡像隊列的原理,深入地講述RabbitMQ的一些實現細節,便於讀者加深對RabbitMQ的理解。本書還涉及網絡分區的概念,此內容可稱為魔鬼篇,需要掌握前麵的所有內容纔可理解其中的門道。本書*後講述的是RabbitMQ的一些擴展內容及附錄,供讀者參考之用。
目錄
D1章 RabbitMQ簡介 1 1.1 什麼是消息中間件 2 1.2 消息中間件的作用 3 1.3 RabbitMQ的起源 4 1.4 RabbitMQ的安裝及簡單使用 6 1.4.1 安裝Erlang 7 1.4.2 RabbitMQ的安裝 8 1.4.3 RabbitMQ的運行 8 1.4.4 生産和消費消息 10 1.5 小結 14 D2章 RabbitMQ入門 15 2.1 相關概念介紹 16 2.1.1 生産者和消費者 16 2.1.2 隊列 18D1章 RabbitMQ簡介 1
1.1 什麼是消息中間件 2
1.2 消息中間件的作用 3
1.3 RabbitMQ的起源 4
1.4 RabbitMQ的安裝及簡單使用 6
1.4.1 安裝Erlang 7
1.4.2 RabbitMQ的安裝 8
1.4.3 RabbitMQ的運行 8
1.4.4 生産和消費消息 10
1.5 小結 14
D2章 RabbitMQ入門 15
2.1 相關概念介紹 16
2.1.1 生産者和消費者 16
2.1.2 隊列 18
2.1.3 交換器、路由鍵、綁定 19
2.1.4 交換器類型 21
2.1.5 RabbitMQ運轉流程 23
2.2 AMQP協議介紹 26
2.2.1 AMQP生産者流轉過程 27
2.2.2 AMQP消費者流轉過程 29
2.2.3 AMQP命令概覽 30
2.3 小結 32
D3章 客戶端開發嚮導 33
3.1 連接RabbitMQ 34
3.2 使用交換器和隊列 36
3.2.1 exchangeDeclare方法詳解 37
3.2.2 queueDeclare方法詳解 39
3.2.3 queueBind方法詳解 41
3.2.4 exchangeBind方法詳解 42
3.2.5 何時創建 43
3.3 發送消息 44
3.4 消費消息 46
3.4.1 推模式 46
3.4.2 拉模式 49
3.5 消費端的確認與拒絕 50
3.6 關閉連接 52
3.7 小結 54
D4章 RabbitMQ進階 55
4.1 消息何去何從 56
4.1.1 mandatory參數 56
4.1.2 immediate參數 57
4.1.3 備份交換器 58
4.2 過期時間(TTL) 60
4.2.1 設置消息的TTL 60
4.2.2 設置隊列的TTL 62
4.3 死信隊列 63
4.4 延遲隊列 65
4.5 優先級隊列 67
4.6 RPC實現 68
4.7 持久化 72
4.8 生産者確認 74
4.8.1 事務機製 74
4.8.2 發送方確認機製 77
4.9 消費端要點介紹 84
4.9.1 消息分發 85
4.9.2 消息順序性 87
4.9.3 棄用QueueingConsumer 88
4.10 消息傳輸保障 90
4.11 小結 91
D5章 RabbitMQ管理 92
5.1 多租戶與權限 93
5.2 用戶管理 97
5.3 Web端管理 99
5.4 應用與集群管理 105
5.4.1 應用管理 105
5.4.2 集群管理 108
5.5 服務端狀態 111
5.6 HTTP API接口管理 121
5.7 小結 130
D6章 RabbitMQ配置 131
6.1 環境變量 132
6.2 配置文件 136
6.2.1 配置項 137
6.2.2 配置加密 140
6.2.3 優化網絡配置 142
6.3 參數及策略 146
6.4 小結 151
D7章 RabbitMQ運維 152
7.1 集群搭建 153
7.1.1 多機多節點配置 154
7.1.2 集群節點類型 158
7.1.3 剔除單個節點 160
7.1.4 集群節點的升級 162
7.1.5 單機多節點配置 163
7.2 查看服務日誌 164
7.3 單節點故障恢復 172
7.4 集群遷移 173
7.4.1 元數據重建 174
7.4.2 數據遷移和客戶端連接的切換 183
7.4.3 自動化遷移 185
7.5 集群監控 189
7.5.1 通過HTTP API接口提供監控數據 189
7.5.2 通過客戶端提供監控數據 196
7.5.3 檢測RabbitMQ服務是否健康 199
7.5.4 元數據管理與監控 203
7.6 小結 205
D8章 跨越集群的界限 206
8.1 Federation 207
8.1.1 聯邦交換器 207
8.1.2 聯邦隊列 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 小結 235
D9章 RabbitMQ高階 237
9.1 存儲機製 238
9.1.1 隊列的結構 240
9.1.2 惰性隊列 243
9.2 內存及磁盤告警 245
9.2.1 內存告警 246
9.2.2 磁盤告警 249
9.3 流控 250
9.3.1 流控的原理 250
9.3.2 案例:打破隊列的瓶頸 253
9.4 鏡像隊列 263
9.5 小結 269
D10章 網絡分區 270
10.1 網絡分區的意義 271
10.2 網絡分區的判定 272
10.3 網絡分區的模擬 275
10.4 網絡分區的影響 279
10.4.1 未配置鏡像 279
10.4.2 已配置鏡像 282
10.5 手動處理網絡分區 284
10.6 自動處理網絡分區 289
10.6.1 pause-miDrity模式 289
10.6.2 pause-if-all-down模式 290
10.6.3 autoheal模式 291
10.6.4 挑選哪種模式 292
10.7 案例:多分區情形 293
10.8 小結 296
D11章 RabbitMQ擴展 297
11.1 消息追蹤 298
11.1.1 Firehose 298
11.1.2 rabbitmq_tracing插件 301
11.1.3 案例:可靠性檢測 305
11.2 負載均衡 310
11.2.1 客戶端內部實現負載均衡 312
11.2.2 使用HAProxy實現負載均衡 314
11.2.3 使用Keepalived實現高可靠負載均衡 318
11.2.4 使用Keepalived LVS實現負載均衡 325
11.3 小結 330
附錄A 集群元數據信息示例 331
附錄B /api/Ddes接口詳細內容 333
附錄C 網絡分區圖譜 336 顯示全部信息
RabbitMQ實戰指南 epub pdf mobi txt 電子書 下載 2024
RabbitMQ實戰指南 下載 epub mobi pdf txt 電子書