rabbitmq

rabbitmq

信息學術語
MQ全稱為Message Queue,消息隊列(MQ)是一種應用程序對應用程序的通信方法。應用程序通過寫和檢索出入列隊的針對應用程序的數據(消息)來通信,而無需專用連接來鍊接它們。消息傳遞指的是程序之間通過在消息中發送數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用于諸如遠程過程調用的技術排隊指的是應用程序通過隊列來通信。隊列的使用除去了接收和發送應用程序同時執行的要求。其中較為成熟的MQ産品有IBM WEBSPHERE MQ。
    中文名:消息隊列 外文名:Message Queue 所屬學科: 簡稱:MQ 構成:以高性能、健壯以及可伸縮性出名的Erlang寫成 開發公司:Rabbit

簡介

RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的,而群集和故障轉移是構建在開放電信平台框架上的。所有主要的編程語言均有與代理接口通訊的客戶端庫。

使用場景

最近在項目中,将一些無需即時返回且耗時的操作提取出來,進行了異步處理,而這種異步處理的方式大大的節省了服務器的請求響應時間,從而提高了系統的吞吐量。

曆史

Rabbit科技有限公司開發了RabbitMQ,并提供對其的支持。起初,Rabbit科技是LSHIFT和CohesiveFT在2007年成立的合資企業,2010年4月被VMware旗下的SpringSource收購。RabbitMQ在2013年5月成為GoPivotal的一部分。

相關概念

Exchange:交換機,決定了消息路由規則;

Queue:消息隊列;

Channel:進行消息讀寫的通道;

Bind:綁定了Queue和Exchange,意即為符合什麼樣路由規則的消息,将會放置入哪一個消息隊列。

技術亮點

可靠性

RabbitMQ提供了多種技術可以讓你在性能和可靠性之間進行權衡。這些技術包括持久性機制、投遞确認、發布者證實和高可用性機制。

靈活的路由

消息在到達隊列前是通過交換機進行路由的。RabbitMQ為典型的路由邏輯提供了多種内置交換機類型。如果你有更複雜的路由需求,可以将這些交換機組合起來使用,你甚至可以實現自己的交換機類型,并且當做RabbitMQ的插件來使用。

集群

在相同局域網中的多個RabbitMQ服務器可以聚合在一起,作為一個獨立的邏輯代理來使用。

相關詞條

相關搜索

其它詞條