RabbitMQ實戰:高效部署分佈式消息隊列 RabbitMQ实战:高效部署分布式消息队列

阿爾瓦羅·維德拉 (Alvaro Videla), 詹森.J.W.威廉姆斯 (Jason J. W. Williams)

無法訂購

買這商品的人也買了...

相關主題

商品描述

<內容介紹> 

維德拉、威廉姆斯著,汪佳南譯的《RabbitMQ實戰》對RabbitMQ、做了全面、翔實的講解,體現了兩位專家的真知灼見。本書首先介紹了有關MQ的歷史,然後從基本的消息通信原理講起,帶領讀者一路探索RabbitMQ的消息通信世界。這當中不僅包含了針對單台RabbitMQ服務器和RabbitMQ集群的講解,還教導讀者如何使用各種工具來進行監控。
    本書內容淺顯易懂,文筆風趣幽默。書中包含了豐富的、可以運行的示例程序源代碼,讀者可以自行下載並運行,這種親身實踐有助於加深對相關主題的理解。對於初學者來說,這樣的編排非常適用。對於那些有一定RabbitMQ使用經驗的讀者來說,本書不僅可以鞏固消息通信基本原理,同時也可加深對RabbitMQ高級特性的理解,譬如如何編寫RabbitMQ插件。相信處於RabbitMQ探索之旅不同階段的讀者都能從本書獲益。
    本書適合有一定工作經驗的開發者或者架構師閱讀,也可以作為RabbitMQ運維工作的參考手冊。

<章節目錄>
第1章  天降奇兵
  1.1  住在別人的地下城堡
  1.2  救世主AMQP
  1.3  RabbitMQ簡史
  1.4  百裡挑一
  1.5  在UNIX系統上安裝RabbitMQ
    1.5.1  為什麼環境很重要——生活在Erlang的世界里
    1.5.2  獲取安裝包
    1.5.3  設置文件夾結構
    1.5.4  首次運行Rabbit
  1.6  總結
第2章  理解消息通信
  2.1  消費者和生產者(這可不是經濟學課程哦)
  2.2  從底部開始構造:隊列
  2.3  聯合起來:交換器和綁定
  2.4  多租戶模式:虛擬主機和隔離
  2.5  我的消息去哪兒了呢?持久化和你的策略
  2.6  把所有內容結合起來:一條消息的一生
  2.7  使用發送方確認模式來確認投遞
  2.8  總結
第3章  運行和管理Rabbit
  3.1  服務器管理
    3.1.1  啟動節點
    3.1.2  停止節點
    3.1.3  關閉和重啟應用程序:有何差別
    3.1.4  Rabbit配置文件
  3.2  請求許可
    3.2.1  管理用戶
    3.2.2  Rabbit的權限系統
  3.3  檢查
    3.3.1  查看數據統計
    3.3.2  理解RabbitMQ日誌
  3.4  修復Rabbit:疑難解答
    由badrpc、nodedown和其他Erlang引起的問題
  3.5  總結
第4章  解決Rabbit相關問題:編碼與模式
  4.1  解耦風雨路:誰將我們推向消息通信
    4.1.1  異步狀態思維(分離請求和動作)
    4.1.2  提供擴展性:沒有負載均衡器的世界
    4.1.3  零成本API:語言不應成為枷鎖
  4.2  發後即忘模型
    4.2.1  發送告警
    4.2.2  並行處理
  4.3  別忘了:用RabbitMQ實現RPC並等待響應
    4.3.1  私有隊列和發送確認
    4.3.2  使用reply_to來實現簡單的JSON RPC
  4.4  總結
第5章  集群並處理失敗
  5.1  開足馬力:RabbitMQ集群
  5.2  集群架構

    5.2.1  集群中的隊列
    5.2.2  分佈交換器
    5.2.3  是內存節點還是磁盤節點
  5.3  在你的筆記本電腦上設置集群
  5.4  將節點分佈到更多的機器上
  5.5  升級集群節點
  5.6  鏡像隊列和保留消息
    5.6.1  聲明並使用鏡像隊列
    5.6.2  鏡像隊列工作原理
  5.7  總結
第6章  從故障中恢復
  6.1  為Rabbit做負載均衡
    6.1.1  安裝HAProxy
    6.1.2  配置HAProxy
  6.2  連接丟失和故障轉移
  6.3  總結
第7章  Warren和Shovel:故障轉移和複製
  7.1  warren:另一種集群方式
  7.2  設定負載均衡器——基於主/從的集群
  7.3  遠距離通信和複製
    7.3.1  給Rabbit裝備Shovel:Shovel 插件介紹
    7.3.2  安裝Shovel
    7.3.3  配置並運行Shovel
  7.4  總結
第8章  從Web端管理RabbitMQ
  8.1  超越rabbitmqctl:RabbitMQ Management插件
    8.1.1  為何需要Management插件
    8.1.2  Management插件功能
    8.1.3  啟用Management插件
  8.2  從Web控制台來管理RabbitMQ
    8.2.1  監控Erlang VM
    8.2.2  從JSON文件導入配置
  8.3  從Web控制台管理用戶
    8.3.1  創建用戶
    8.3.2  管理用戶的權限
  8.4  從Web控制台管理交換器和隊列
    8.4.1  列出隊列信息
    8.4.2  創建隊列
  8.5  回到命令行
    8.5.1  為什麼需要另一個CLI
    8.5.2  CLI管理:一種更簡單的方式
    8.5.3  安裝rabbitmqadmin腳本
    8.5.4  清空隊列、創建交換器等
  8.6  總結
第9章  使用REST API控制Rabbit
  9.1  能用RabbitMQ REST API做什麼
  9.2  對客戶端授權訪問
  9.3  訪問數據統計
  9.4  自動化vhost和用戶配置
  9.5  總結

第10章  監控
  10.1  監控RabbitMQ:密切關註你的Warren
    10.1.1  為Nagios編寫健康檢測
    10.1.2  使用AMQP模擬檢測來確認RabbitMQ是否運行
    10.1.3  使用REST API來檢測
    10.1.4  監控配置文件修改
    10.1.5  監控集群狀態
  10.2  確保消費者正常工作
    10.2.1  通過AMQP監控隊列等級
    10.2.2  使用REST API來監控隊列級別
    10.2.3  建立隊列的消息計數基準經驗法則
  10.3  總結
第11章  提升性能,保障安全
  11.1  對速度的需求
    11.1.1  消息持久化
    11.1.2  消息確認
    11.1.3  路由演算法和綁定規則
    11.1.4  投遞消息
  11.2  內存使用率和進程限制
    11.2.1  內存使用率
    11.2.2  Erlang 進程計數
  11.3  SSL連接
    11.3.1  SSL證書
    11.3.2  設置證書頒發機構
    11.3.3  生成根證書
    11.3.4  生成服務器端證書
    11.3.5  生成客戶端證書
    11.3.6  啟用RabbitMQ的SSL監聽器
    11.3.7  測試你的RabbitMQ SSL設置
  11.4  總結
第12章  聰明的Rabbit:擴展RabbitMQ
  12.1  RabbitMQ插件
    12.1.1  你可以用插件做什麼
    12.1.2  在哪裡可以找到插件
    12.1.3  安裝插件
    12.1.4  移除插件
  12.2  製作你自己的插件
    12.2.1  獲取RabbitMQ Public Umbrella
    12.2.2  設置文件夾結構
    12.2.3  包含插件構建系統
    12.2.4  創建Erlang應用文件
  12.3  創建自定義交換器模塊
    12.3.1  將交換器註冊到RabbitMQ
    12.3.2  實現交換器behaviour
    12.3.3  編譯自定義交換器
    12.3.4  測試你的插件
  12.4  總結
附錄A  在Java和.NET上使用Rabbit
附錄B  在線資源
附錄C  在Windows上安裝RabbitMQ