注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)RabbitMQ實(shí)戰(zhàn)指南

RabbitMQ實(shí)戰(zhàn)指南

RabbitMQ實(shí)戰(zhàn)指南

定 價(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ù):  

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

  本書從消息中間件的概念和RabbitMQ的歷史切入,主要闡述RabbitMQ的安裝、使用、配置、管理、運(yùn)維、原理、擴(kuò)展等方面的細(xì)節(jié)。本書大致可以分為基礎(chǔ)篇、進(jìn)階篇和高階篇三個(gè)部分。基礎(chǔ)篇首先介紹RabbitMQ的基本安裝及使用方式,方便零基礎(chǔ)的讀者以最舒適的方式融入到RabbitMQ之中。其次介紹RabbitMQ的基本概念,包括生產(chǎn)者、消費(fèi)者、交換器、隊(duì)列、綁定等。之后通過Java語(yǔ)言講述了客戶端如何與RabbitMQ建立(關(guān)閉)連接、聲明(刪除)交換器、隊(duì)列、綁定關(guān)系,以及如何發(fā)送和消費(fèi)消息等。進(jìn)階篇講述RabbitMQ的 TTL、死信、延遲隊(duì)列、優(yōu)先級(jí)隊(duì)列、RPC、消息持久化、生產(chǎn)端和消費(fèi)端的消息確認(rèn)機(jī)制等內(nèi)容,以期讀者能夠掌握RabbitMQ的使用精髓。本書中間篇幅主要從RabbitMQ 的管理、配置、運(yùn)維這三個(gè)角度來為讀者提供幫助文檔及解決問題的思路。高階篇主要闡述RabbitMQ的存儲(chǔ)機(jī)制、流控及鏡像隊(duì)列的原理,深入地講述RabbitMQ的一些實(shí)現(xiàn)細(xì)節(jié),便于讀者加深對(duì)RabbitMQ的理解。本書還涉及網(wǎng)絡(luò)分區(qū)的概念,此內(nèi)容可稱為魔鬼篇,需要掌握前面的所有內(nèi)容才可理解其中的門道。本書最后講述的是RabbitMQ的一些擴(kuò)展內(nèi)容及附錄,供讀者參考之用。

作者簡(jiǎn)介

  計(jì)算機(jī)碩士畢業(yè),在互聯(lián)網(wǎng)公司擔(dān)任高級(jí)開發(fā)工程師,從事消息中間件的研究及開發(fā),主要包括RabbitMQ和Kafka。

圖書目錄

第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


本目錄推薦

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