RabbitMQ之一入門

個人專題目錄


1. 消息中間件概述

1.1 AMQP 和 JMS

MQ是消息通信的模型;實現(xiàn)MQ的大致有兩種主流方式:AMQP、JMS。

AMQP

AMQP是一種協(xié)議,更準確的說是一種binary wire-level protocol(鏈接協(xié)議)。這是其和JMS的本質差別,AMQP不從API層進行限定,而是直接定義網絡交換的數據格式。

JMS

JMS即Java消息服務(JavaMessage Service)應用程序接口,是一個Java平臺中關于面向消息中間件(MOM)的API,用于在兩個應用程序之間,或分布式系統(tǒng)中發(fā)送消息,進行異步通信。

AMQP 與 JMS 區(qū)別

  • JMS是定義了統(tǒng)一的接口,來對消息操作進行統(tǒng)一;AMQP是通過規(guī)定協(xié)議來統(tǒng)一數據交互的格式
  • JMS限定了必須使用Java語言;AMQP只是協(xié)議,不規(guī)定實現(xiàn)方式,因此是跨語言的。
  • JMS規(guī)定了兩種消息模式;而AMQP的消息模式更加豐富

1.2 消息隊列產品

市場上常見的消息隊列有如下:

  • ActiveMQ:基于JMS
  • ZeroMQ:基于C語言開發(fā)
  • RabbitMQ:基于AMQP協(xié)議,erlang語言開發(fā),穩(wěn)定性好
  • RocketMQ:基于JMS,阿里巴巴產品
  • Kafka:類似MQ的產品;分布式消息系統(tǒng),高吞吐量

1.3 RabbitMQ

RabbitMQ是由erlang語言開發(fā),基于AMQP(Advanced Message Queue 高級消息隊列協(xié)議)協(xié)議實現(xiàn)的消息隊列,它是一種應用程序之間的通信方法,消息隊列在分布式系統(tǒng)開發(fā)中應用非常廣泛。

RabbitMQ官方地址:http://www.rabbitmq.com/

RabbitMQ提供了6種模式:簡單模式,work模式,Publish/Subscribe發(fā)布與訂閱模式,Routing路由模式,Topics主題模式,RPC遠程調用模式(遠程調用,不太算MQ;暫不作介紹);

官網對應模式介紹:https://www.rabbitmq.com/getstarted.html

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 什么叫消息隊列? 消息(Message)是指在應用間傳送的數據。消息可以非常簡單,比如只包含文本字符串,也可以更復...
    Agile_dev閱讀 2,441評論 0 24
  • 關于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術選型,是時...
    中v中閱讀 2,040評論 0 20
  • 關于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術選型,是時...
    預流閱讀 586,689評論 51 787
  • 關于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術選型,是時...
    Java機械師閱讀 596評論 0 2
  • 關于消息隊列,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了,但一直沒騰出空,近來分別碰到幾個朋友聊這塊的技術選型,是時...
    Johnson_zx閱讀 1,158評論 0 5

友情鏈接更多精彩內容