QPID与AMQP简介

AMQP简介

 

AMQP(消息队列协议,Advanced Message Queuing Protocol)是一种消息协议 ,等同于JMS,但是JMS只是java平台的方案,AMQP是一个跨语言的协议。

AMQP 不分语言平台,最初来自JPMorgon,因为业务需要而滋生,很快从金融界推广到整个计算机界流行起来。

AMQP 目前还是一个草案,最新版本是:0.10

 

Publisher --->Exchange ---> MessageQueue --->Consumer

---------------------------------------------------------------------------

整个过程是异步的.Publisher,Consumer相互不知道对方的存在,

Exchange负责交换/路由,依靠Routing Key,每个消息者有一个Routing Key

每个Binding将自已感兴趣的RoutingKey告诉Exchange,以便Exchange将相关的

消息转发给相应的Queue.

 

几个概念

Producer,Routing Key,Exchange,Binding,Queue,Consumer.

---------------------------------------------------------------------------

Producer: 消息的创建者,消息的发送者

Routing Key:唯一用来映射消息该进入哪个队列的标识

Exchange:负责消息的路由,交换

Binding:定义Queue和Exchange的映射关系

Queue:消息队列

Consumer:消息的使用者

 

Exchange类型

-------------------

Fan-Out:类似于广播方式,不管RoutingKey

Direct:根据RoutingKey,进行关联投寄 

Topic:类似于Direct,但是支持多个Key关联,以组的方式投寄。

key以.来定义界限。类似于usea.news,usea.weather.这两个消息是一组的。

 

-----------------------------------------------------------------------------------------

 

QPID

QPID是AMQP的一个实现,提供C++,JAVA版本的broker,支持多种语言客户端。

 

基本功能外提供以下特性:

采用 Corosync(?)来保证集群环境下的Fault-tolerant(?) 特性

支持XML的Exchange,消息为XML时,彩用Xquery过滤

支持plugin提供安全认证,可对producer/consumer提供身份认证

qpidd --port --no-data-dir --auth

port:端口

--no-data-dir:不指定数据目录

--auth:不启用安全身份认证

 

启动后自动创建一些Exchange,amp.topic,amp.direct,amp.fanout

tools:

Qpid-config:维护Queue,Exchange,内部配置 

Qpid-route:配置broker Federation(联盟?集群?)

Qpid-tool:监控

 

 

参考:

关于AMQP更多信息可参考: http://www.openamq.org/doc:amqp-background

关于QPID的更多和使用可参考:http://qpid.apache.org/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值