1. <form id="vgd9k"></form><nav id="vgd9k"></nav>

    <wbr id="vgd9k"></wbr>

    1. <nav id="vgd9k"></nav>

            1. 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
              從菜雞到大神
              項目實戰課程
              日本色在线|国内偷拍在线精品|97资源站制服超碰视频|色情亚洲迅雷xiazai

              1. <form id="vgd9k"></form><nav id="vgd9k"></nav>

                <wbr id="vgd9k"></wbr>

                1. <nav id="vgd9k"></nav>