Java知識分享網 - 輕松學習從此開始!????

Java知識分享網

Java1234官方群25:java1234官方群25
Java1234官方群25:838462530
     

GIT視頻教程(結合github,碼云)免費領取

BAT一線大廠筆試面試打包下載

java1234.vip企業級站點全新上線(可以領取站點源碼)

SpringBoot打造企業級進銷存

Java1234 VIP課程

領取微信掃碼登錄Java實現視頻教程

Java1234至尊VIP(特價活動)
當前位置: 主頁 > Java文檔 > Java基礎相關 >

RabbitMQ-最完整最全教程 PDF 下載


分享到:
時間:2020-06-23 17:40來源:http://www.luygg.com 作者:小鋒  侵權舉報
RabbitMQ-最完整最全教程 PDF 下載
失效鏈接處理
RabbitMQ-最完整最全教程 PDF 下載

本站整理下載:
 
相關截圖:
 
主要內容:

1消息隊列概述
1.1消息隊列MQ
MQ全稱為Message Queue,消息隊列是應用程序和應用程序之間的通信方法。
 
 
為什么使用MQ?
在項目中,可將一些無需即時返回且耗時的操作提取出來,進行異步處理,而這種異步處理的方式大大的節省了服務器的請求響應時間,從而提高了系統的吞吐量。
 
開發中消息隊列通常有如下應用場景:
應用解耦、異步處理(提高系統響應速度)、流量削峰(高峰堆積消息,峰后繼續處理消息)、日志處理(分布式日志,一般使用kafka)、純粹通訊。
 
1.2AMQP 和 JMS
MQ是消息通信的模型;實現MQ的大致有兩種主流方式:AMQP、JMS。
1.2.1AMQP
AMQP高級消息隊列協議,是一個進程間傳遞異步消息的網絡協議,更準確的說是一種binary wire-level protocol(鏈接協議)。這是其和JMS的本質差別,AMQP不從API層進行限定,而是直接定義網絡交換的數據格式。
1.2.2JMS
JMS即Java消息服務(JavaMessage Service)應用程序接口,是一個Java平臺中關于面向消息中間件(MOM)的API,用于在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。
1.2.3AMQP 與 JMS 區別
JMS是定義了統一的接口,來對消息操作進行統一;AMQP是通過規定協議來統一數據交互的格式
JMS限定了必須使用Java語言;AMQP只是協議,不規定實現方式,因此是跨語言的。
JMS規定了兩種消息模式;而AMQP的消息模式更加豐富
 
1.3消息隊列產品
目前市面上成熟主流的MQ有Kafka 、RocketMQ、RabbitMQ,我們這里對每款MQ做一個簡單介紹。
Kafka
Apache下的一個子項目,使用scala實現的一個高性能分布式Publish/Subscribe消息隊列系統。
1.快速持久化:通過磁盤順序讀寫與零拷貝機制,可以在O(1)的系統開銷下進行消息持久化;
2.高吞吐:在一臺普通的服務器上既可以達到10W/s的吞吐速率;
3.高堆積:支持topic下消費者較長時間離線,消息堆積量大;
4.完全的分布式系統:Broker、Producer、Consumer都原生自動支持分布式,依賴zookeeper自動實現復雜均衡;
5.支持Hadoop數據并行加載:對于像Hadoop的一樣的日志數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。
RocketMQ
RocketMQ的前身是Metaq,當Metaq3.0發布時,產品名稱改為RocketMQ。RocketMQ是一款分布式、隊列模型的消息中間件,具有以下特點 :
1.能夠保證嚴格的消息順序
  2.提供豐富的消息拉取模式
  3.高效的訂閱者水平擴展能力
  4.實時的消息訂閱機制
  5.支持事務消息
  6.億級消息堆積能力
RabbitMQ
使用Erlang編寫的一個開源的消息隊列,本身支持很多的協議:AMQP,XMPP, SMTP,STOMP,也正是如此,使的它變的非常重量級,更適合于企業級的開發。同時實現了Broker架構,核心思想是生產者不會將消息直接發送給隊列,消息在發送給客戶端時先在中心隊列排隊。對路由(Routing),負載均衡(Load balance)、數據持久化都有很好的支持。多用于進行企業級的ESB整合。
 
1.4RabbitMQ介紹
RabbitMQ是由erlang語言開發,基于AMQP(Advanced Message Queue 高級消息隊列協議)協議實現的消息隊列,它是一種應用程序之間的通信方法,消息隊列在分布式系統開發中應用非常廣泛。
RabbitMQ官方地址:http://www.rabbitmq.com/
RabbitMQ提供了6種模式:簡單模式,work模式,Publish/Subscribe發布與訂閱模式,Routing路由模式,Topics主題模式,RPC遠程調用模式(遠程調用,不太算MQ;不作介紹);
官網對應模式介紹:https://www.rabbitmq.com/getstarted.html
 
2安裝及配置RabbitMQ
2.1安裝說明
詳細查看 資料/安裝Windows RabbitMQ.pdf文檔。
 
2.2用戶以及Virtual Hosts配置
2.2.1用戶角色
RabbitMQ在安裝好后,可以訪問http://localhost:15672 ;其自帶了guest/guest的用戶名和密碼;如果需要創建自定義用戶;那么也可以登錄管理界面后,如下操作:
 
角色說明:
1、超級管理員(administrator)
可登陸管理控制臺,可查看所有的信息,并且可以對用戶,策略(policy)進行操作。
2、監控者(monitoring)
可登陸管理控制臺,同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)
3、策略制定者(policymaker)
可登陸管理控制臺, 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。
4、普通管理者(management)
僅可登陸管理控制臺,無法看到節點信息,也無法對策略進行管理。
5、其他
無法登陸管理控制臺,通常就是普通的生產者和消費者。
 
 
 
2.2.2Virtual Hosts配置
像mysql擁有數據庫的概念并且可以指定用戶對庫和表等操作的權限。RabbitMQ也有類似的權限管理;在RabbitMQ中可以虛擬消息服務器Virtual Host,每個Virtual Hosts相當于一個相對獨立的RabbitMQ服務器,每個VirtualHost之間是相互隔離的。exchange、queue、message不能互通。 相當于mysql的db。Virtual Name一般以/開頭。
 
(1)創建Virtual Hosts

 

------分隔線----------------------------
鋒哥公眾號


鋒哥微信號


關注公眾號
【Java資料站】
回復 666
獲取 
66套java
從菜雞到大神
項目實戰課程
日本色在线