<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【消息隊(duì)列】常見(jiàn)5種消息隊(duì)列介紹及入門(mén)教程!ActiveMQ、kafka、RabbitMQ等

          共 3678字,需瀏覽 8分鐘

           ·

          2021-11-30 05:49

          消息隊(duì)列是分布式應(yīng)用間交換信息的重要組件,消息隊(duì)列可駐留在內(nèi)存或磁盤(pán)上, 隊(duì)列可以存儲(chǔ)消息直到它們被應(yīng)用程序讀走。
          通過(guò)消息隊(duì)列,應(yīng)用程序可以在不知道彼此位置的情況下獨(dú)立處理消息,或者在處理消息前不需要等待接收此消息。
          所以消息隊(duì)列可以解決應(yīng)用解耦、異步消息、流量削鋒等問(wèn)題,是實(shí)現(xiàn)高性能、高可用、可伸縮和最終一致性架構(gòu)中不可以或缺的一環(huán)。
          現(xiàn)在比較常見(jiàn)的消息隊(duì)列產(chǎn)品主要有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ等。今天為大家介紹一下每個(gè)消息隊(duì)列及各自特點(diǎn),并為大家準(zhǔn)備了一套學(xué)習(xí)資料,感興趣的就讀下去吧~
          ps:學(xué)習(xí)資料已打包,文末領(lǐng)取!


          1、ActiveMQ


          ActiveMQ 是Apache出品,最流行的,能力強(qiáng)勁的開(kāi)源消息總線。ActiveMQ 是一個(gè)完全支持JMS1.1和J2EE 1.4規(guī)范的 JMS Provider實(shí)現(xiàn),盡管JMS規(guī)范出臺(tái)已經(jīng)是很久的事情了,但是JMS在當(dāng)今的J2EE應(yīng)用中間仍然扮演著特殊的地位。
          pdf來(lái)源網(wǎng)絡(luò),侵刪
          最新使用文檔請(qǐng)移步至官網(wǎng):
          https://activemq.apache.org/

          教程分享:ActiveMQ使用手冊(cè)

          本文檔第二部分介紹了 ActiveMQ 的原理和重要配置介紹,第三部門(mén)介紹群集搭建方式 , 分析各種集群方式的優(yōu)缺點(diǎn) ,第四部分實(shí)戰(zhàn)搭建Master-Slave+Broker-Custer 的群集,第五部分是對(duì) ActiveMQ 的監(jiān)控,可以通過(guò)JMX 接口直接獲取當(dāng)前的消息情況,第六部分是對(duì) ActiveMQ 使用要注意的情況。對(duì)于清楚 JMS 和 ActiveMQ 熟悉的,需要對(duì) ActiveMQ 做集群處理,可以跳過(guò)第二、三章直接看第四章實(shí)踐。

          2、RabbitMQ


          RabbitMQ是流行的開(kāi)源消息隊(duì)列系統(tǒng),用erlang語(yǔ)言開(kāi)發(fā)。RabbitMQ是AMQP(高級(jí)消息隊(duì)列協(xié)議)的標(biāo)準(zhǔn)實(shí)現(xiàn)。支持多種客戶(hù)端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,持久化。用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,在易用性、擴(kuò)展性、高可用性等方面表現(xiàn)不俗。
          教程分享:RabbitMQ中文文檔
          pdf來(lái)源網(wǎng)絡(luò),侵刪
          最新使用文檔請(qǐng)移步至官網(wǎng):https://www.rabbitmq.com
          入門(mén)教程分為6大部分,對(duì)純小白來(lái)說(shuō)有一定參考意義


          3、ZeroMQ


          號(hào)稱(chēng)史上最快的消息隊(duì)列,它實(shí)際類(lèi)似于Socket的一系列接口,他跟Socket的區(qū)別是:普通的socket是端到端的(1:1的關(guān)系),而ZMQ卻是可以N:M 的關(guān)系,人們對(duì)BSD套接字的了解較多的是點(diǎn)對(duì)點(diǎn)的連接,點(diǎn)對(duì)點(diǎn)連接需要顯式地建立連接、銷(xiāo)毀連接、選擇協(xié)議(TCP/UDP)和處理錯(cuò)誤等,而ZMQ屏蔽了這些細(xì)節(jié),讓你的網(wǎng)絡(luò)編程更為簡(jiǎn)單。ZMQ用于node與node間的通信,node可以是主機(jī)或者是進(jìn)程。
          引用官方的說(shuō)法:“ZMQ(以下ZeroMQ簡(jiǎn)稱(chēng)ZMQ)是一個(gè)簡(jiǎn)單好用的傳輸層,像框架一樣的一個(gè)socket library,他使得Socket編程更加簡(jiǎn)單、簡(jiǎn)潔和性能更高。是一個(gè)消息處理隊(duì)列庫(kù),可在多個(gè)線程、內(nèi)核和主機(jī)盒之間彈性伸縮。ZMQ的明確目標(biāo)是“成為標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議棧的一部分,之后進(jìn)入Linux內(nèi)核”。現(xiàn)在還未看到它們的成功。但是,它無(wú)疑是極具前景的、并且是人們更加需要的“傳統(tǒng)”BSD套接字之上的一 層封裝。ZMQ讓編寫(xiě)高性能網(wǎng)絡(luò)應(yīng)用程序極為簡(jiǎn)單和有趣。”
          教程分享:ZeroMQ官方文檔中文版
          pdf來(lái)源網(wǎng)絡(luò),侵刪
          最新使用文檔請(qǐng)移步至官網(wǎng):https://zeromq.org/

          本篇文檔共300+頁(yè),五大章內(nèi)容:
          第一章 ZeroMQ 基礎(chǔ)
          第二章 ZeroMQ 進(jìn)階
          第三章 高級(jí)請(qǐng)求-應(yīng)答模式
          第四章 可靠的請(qǐng)求-應(yīng)答模式
          第五章 高級(jí)發(fā)布-訂閱模式

          4、Kafka


          Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。這種動(dòng)作(網(wǎng)頁(yè)瀏覽,搜索和其他用戶(hù)的行動(dòng))是在現(xiàn)代網(wǎng)絡(luò)上的許多社會(huì)功能的一個(gè)關(guān)鍵因素。這些數(shù)據(jù)通常是由于吞吐量的要求而通過(guò)處理日志和日志聚合來(lái)解決。對(duì)于像Hadoop的一樣的日志數(shù)據(jù)和離線分析系統(tǒng),但又要求實(shí)時(shí)處理的限制,這是一個(gè)可行的解決方案。Kafka的目的是通過(guò)Hadoop的并行加載機(jī)制來(lái)統(tǒng)一線上和離線的消息處理,也是為了通過(guò)集群機(jī)來(lái)提供實(shí)時(shí)的消費(fèi)。
          教程分享:Kafka官方中文文檔
          pdf來(lái)源網(wǎng)絡(luò),侵刪
          最新使用文檔請(qǐng)移步至官網(wǎng):http://kafka.apache.org/
          Kafka官方中文文檔既適合小白入門(mén)也適合有一定基礎(chǔ)的同學(xué)進(jìn)階提升。這份文檔共分為9大部分:Kafka基礎(chǔ)入門(mén),APIS,Kafka配置,Kafka設(shè)計(jì)思想及實(shí)現(xiàn),操作,安全,Kafka 連接器及Kafka streams。幾乎涵蓋了Kafka所有的知識(shí)點(diǎn)。
          第一部分:Kafka基礎(chǔ)入門(mén)
          這一部分是學(xué)習(xí)Kafka的準(zhǔn)備階段,Kafka的發(fā)展,使用案例,下載及歷史版本,都在這一部分進(jìn)行了詳細(xì)的描述。


          第二部分:APIS
          kafka包括五個(gè)核心APIS,在這一部分中分別對(duì)其進(jìn)行了詳解。
          1. Producer API允許應(yīng)用程序?qū)?shù)據(jù)流發(fā)送到Kafka集群中的主題。
          2. Consumer API允許應(yīng)用程序從Kafka集群中的主題讀取數(shù)據(jù)流。
          3. Streams API允許將輸入主題中的數(shù)據(jù)流轉(zhuǎn)換為輸出主題。
          4. Connect API允許實(shí)現(xiàn)將數(shù)據(jù)不斷從某些源系統(tǒng)或應(yīng)用程序中輸入Kafka的連接器,或從Kafka輸入某些接收器系統(tǒng)或應(yīng)用程序。
          5. AdminClient API允許管理和檢查主題,代理和其他Kafka對(duì)象。


          第三部分:配置


          第四部分:設(shè)計(jì)思想
          這一部分介紹了Kafka的設(shè)計(jì)思想以及一些重要概念解析:生產(chǎn)者,備份,消息分發(fā)策略,日志壓縮······


          第五部分:實(shí)現(xiàn)思路
          第五部分承接第四部分的內(nèi)容,對(duì)Kafka的實(shí)現(xiàn)思路進(jìn)行了詳盡介紹。


          第六部分:Kafka操作
          接下來(lái)就進(jìn)入了實(shí)操階段,基本原理,基礎(chǔ)概念了解清楚之后正式開(kāi)始上手,這一部分的內(nèi)容會(huì)比較多,是基于LinkedIn使用Kafka作為生產(chǎn)系統(tǒng)的一些使用經(jīng)驗(yàn)。基礎(chǔ)配置,硬件操作系統(tǒng)及監(jiān)控,zookeeper等內(nèi)容都需要在本章掌握。


          第七部分:Kafka安全
          Kafka具有特性,通過(guò)單獨(dú)使用或者?起使用這些特性,提高了Kafka集群的安全性。


          第八部分:Kafka連接器
          這一部分主要介紹了:Kafka Connect ——?款可擴(kuò)展并且可靠地在 Apache Kafka 和其他系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸?shù)墓ぞ摺?/span>
          Kafka Connect 可以攝取數(shù)據(jù)庫(kù)數(shù)據(jù)或者收集應(yīng)用程序的 metrics 存儲(chǔ)到 Kafka topics,使得數(shù)據(jù)可以用于低延遲的流處理。一個(gè)導(dǎo)出的 job 可以將來(lái)自 Kafkatopic 的數(shù)據(jù)傳輸?shù)蕉?jí)存儲(chǔ),用于系統(tǒng)查詢(xún)或者批量進(jìn)行離線分析。


          第九部分:Kafka Streams
          Kafka Streams 是一個(gè)用于處理和分析存儲(chǔ)在 Kafka 系統(tǒng)中的數(shù)據(jù)的客戶(hù)端庫(kù)。它建立在重要的流處理概念上,如恰當(dāng)?shù)貐^(qū)分事件時(shí)間(event time)和處理時(shí)間(processing time),支持窗口操作(window),exactly-once 處理語(yǔ)義以及簡(jiǎn)單高效的應(yīng)用程序狀態(tài)管理。Kafka Streams 的入門(mén)門(mén)檻很低。我們可以在單節(jié)點(diǎn)環(huán)境上快速實(shí)現(xiàn)一個(gè)小規(guī)模的驗(yàn)證性的程序,只要程序能在多節(jié)點(diǎn)的集群環(huán)境成功運(yùn)行即可部署到高負(fù)載的生產(chǎn)環(huán)境。Kafka Streams 通過(guò)利用Kafka 的并行模型實(shí)現(xiàn)對(duì)相同應(yīng)用程序的多個(gè)實(shí)例的負(fù)載平衡,這對(duì)于用戶(hù)來(lái)說(shuō)是透明的。

          5、 RocketMQ


          RocketMQ是阿里開(kāi)源的消息中間件,純Java開(kāi)發(fā),具有高吞吐量、高可用性、適合大規(guī)模分布式系統(tǒng)應(yīng)用的特點(diǎn)。RocketMQ思路起源于Kafka,但并不是簡(jiǎn)單的復(fù)制,它對(duì)消息的可靠傳輸及事務(wù)性做了優(yōu)化,目前在阿里集團(tuán)被廣泛應(yīng)用于交易、充值、流計(jì)算、消息推送、日志流式處理、binglog分發(fā)等場(chǎng)景,支撐了阿里多次雙十一活動(dòng)。
          因?yàn)槭前⒗飪?nèi)部從實(shí)踐到產(chǎn)品的產(chǎn)物,因此里面很多接口、api并不是很普遍適用。可靠性毋庸置疑,而且與Kafka一脈相承(甚至更優(yōu)),性能強(qiáng)勁,支持海量堆積。

          教程分享:Apache RocketMQ v4.7.1 開(kāi)發(fā)者指南
          pdf來(lái)源網(wǎng)絡(luò),侵刪
          最新使用文檔請(qǐng)移步至官網(wǎng):
          http://rocketmq.apache.org/




          如何獲取以上資源

          ?


          識(shí)別二維碼
          即可打包全部帶走


          *聲明:部分資料源自網(wǎng)絡(luò),PDF版僅做分享學(xué)習(xí),侵刪

          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天免费黄色视 | 青青自拍视频 | 免费毛片网站 | 亚欧成人视频 | 日本一区二区三区黄色 |