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/
相关推荐
Qpid/C++ 是AMQP协议的一个 C++ 的实现。Apache Qpid (Open Source AMQP Messaging) 是一个跨平台的企业通讯解决方案,实现了高级消息队列协议。提供了 Java、C++ 两种服务端版本以及 Java、C++、.NET、Python和Ruby...
标题中的"qpid-cpp-server"指的是Apache Qpid的C++服务器端实现,这是一个开源的消息传递系统,基于AMQP(Advanced Message Queuing Protocol)协议。它允许应用程序在分布式环境中进行可靠的数据交换,支持多种编程...
Qpid Broker-J [ ] [ ] Qpid CPP [ ] [ ] Qpid Dispatch [ ] [ ] Qpid JMS [ ] [ ] Qpid JMS AMQP 0-x [ ] [ ] Qpid Proton [ ] [ ] Qpid Proton-J [ ] [ ] Qpid Python [ ] [ ] Qpid Interop测试[ ] [ ] Qpid网站
由于其标准化和强大的功能,许多开源和商业消息队列产品都支持AMQP v1.0,如RabbitMQ、Apache Qpid、ActiveMQ等。 然而,需要注意的是,虽然AMQP v1.0提供了许可证,允许用户自由使用和实施规范,但用户需遵守条款...
Apache Qpid 是一款基于 AMQP(Advanced Message Queuing Protocol)协议的开源消息中间件,由 Apache Foundation 开发并维护。消息中间件的主要作用是提供可靠的、异步的、跨平台的通信机制,允许应用程序之间通过...
Qpid 是一个开源的消息传递系统,它遵循 Advanced Message Queuing Protocol (AMQP) 标准。在 Qpid 中,队列是存储和转发消息的核心组件。以下是一些关于使用 Qpid 查看和管理队列及消息的重要知识点: 1. **查看...
Qpid是Apache项目中的一个分布式消息传递系统,它实现了AMQP(Advanced Message Queuing Protocol)标准,用于在分布式环境中提供可靠的消息传递。Qpid集群(qpid cluster)是Qpid的一种高可用性(HA)配置,通过...
开发者可以使用各种编程语言的 AMQP 客户端库来与 AMQP 服务器(如 RabbitMQ 或 Apache Qpid)进行交互。 综上所述,"amqp0-10_AMQP_Called_" 可能是一个基于 AMQP 0-10 协议的工具或库,配合提供的 DTD、PDF 文...
4. `geronimo-jms_1.1_spec-1.1.1.jar`:这是对JMS(Java Message Service)1.1规范的实现,Qpid使用它来与JMS兼容。 5. `qpid-proton-j.jar`:这个文件包含了Apache Qpid Proton库,它是Qpid的一个子项目,提供了...
在前端开发中,AMQP 库允许开发者与后端的AMQP兼容消息队列进行交互,如RabbitMQ、Apache Qpid等。 **节点的AMQP驱动程序** Node.js 是一个基于Chrome V8引擎的JavaScript运行环境,用于构建服务器端和网络应用。...
- **AMQP支持**:遵循AMQP标准,确保与其他AMQP兼容系统的互操作性。 - **高效率**:优化的性能设计,处理大量并发消息交换。 - **可靠性和安全性**:通过消息确认和加密机制保证消息的完整性和安全性。 4. **...
通过Qpid,Spring-Remoting-AMQP可以实现与不同系统间的无缝通信。 在Spring-Remoting-AMQP的实现中,主要涉及到以下几个关键概念: 1. **Spring Remoting**: Spring Remoting是Spring框架的一部分,它提供了一种...
由于node-qpid与node-amqp-1-0不同,它对 Apache 的 Qpid Proton 具有原生代码依赖性,因此它只能在 Linux/*nix 系统上运行(到目前为止),但很可能比“纯节点”更快版本(尚未验证)。细节node-sbus依赖五种简单...
#### 三、下载与解压 Qpid 软件包 1. **访问 Apache 官网**:首先访问 Apache Qpid 官方网站 (http://qpid.apache.org/download.html),找到适合您的 Linux 发行版的 Qpid 版本并下载相应的软件包。 2. **解压...
节点qpid 围绕 Apache Qpid 的 Node.js 本机包装器,特别是 AMQP 1.0 Proton C API用法您可以使用它与 AMQP 1.0 代理交换消息: // Sendingvar Messenger = require ( 'qpid' ) . proton . Messenger ;var m = new ...
这些jar包可以在Maven仓库中找到,包括`qpid-amqp-1-0-client`和`qpid-amqp-1-0-client-jms`等。 在进行Azure事件中心的Java编程时,选择哪个SDK主要取决于项目需求。原生SDK提供了基础的事件发送和接收功能,适合...
Qpid是Apache基金会的一个项目,它提供了一个高性能、可靠的消息中间件服务,支持AMQP (Advanced Message Queuing Protocol) 协议。本篇文章将详细介绍如何在Linux环境下安装配置Qpid,并给出具体的启动命令。 ####...
Qpid-proton-c 迁移到 OpenWRT 制作了使用 AMQP 并支持多种语言和平台的消息传递工具。 AMQP 是一种开放的互联网协议,用于可靠地发送和接收消息。 它使每个人都可以构建一个多样化、连贯的消息传递生态系统。 本...
Qpid-CPP-Server是一个基于AMQP(Advanced Message Queuing Protocol)协议的消息中间件服务器。由于Qpid-CPP-0.3的实现中大量依赖于Boost C++库,因此首先需要安装和配置Boost。此外,编译过程还需要Ruby来生成AMQP...
在本压缩包“Laravel开发-laravel-amqp-queue .zip”中,主要涉及的是Laravel框架与AMQP(Advanced Message Queuing Protocol)队列的整合应用。Laravel是PHP领域的一款流行且功能强大的Web应用框架,而AMQP则是一种...