`
gaojingsong
  • 浏览: 1183129 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Apache之Qpid介绍】

阅读更多

Apache Qpid™ makes messaging tools that speak AMQP and support many languages and platforms.

 

AMQP is an open internet protocol for reliably sending and receiving messages. It makes it possible for everyone to build a diverse, coherent messaging ecosystem.

Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信。Qpid 提供了 C++/Python/Java/C# 等主流编程语言的客户端库,安装使用非常方便。相对于其他的 AMQP 实现,Qpid 社区十分活跃,有望成为标准 AMQP 中间件产品。除了符合 AMQP 基本要求之外,Qpid 提供了很多额外的 HA 特性,非常适于集群环境下的消息通信。

 

 

Features

1)A flexible and capable reactive messaging API

2)Full control of AMQP 1.0 protocol semantics

3)Portable C implementation with bindings to popular languages

4)Pure-Java implementation

5)Peer-to-peer and brokered messaging

6)Secure communication via SSL and SASL

 

 

The challenge

Modern large-scale applications are rarely built as monoliths. Instead, they are built as distributed network applications, with parts of the application in distinct processes and distinct parts of the world.

All the same, the parts need to work together to behave as one reliable application. They need a way to communicate, and they must be able to tolerate failures.

 

Messaging is a better way

Modern messaging systems aren't the only way to get processes talking. Your application's parts can share a view into a database, or you can use HTTP and REST to expose information. But these approaches have some serious drawbacks. A database is reliable, but it isn't designed to intermediate communication. Its focus is storing data, not moving it between processes. REST helps you communicate efficiently, but it offers no reliability. If the party you're talking to is unavailable, the transmission is dropped.

A store-and-forward messaging system gives you efficient, reliable communication. Message brokers take responsibility for ensuring messages reach their destination, even if the destination is temporarily out of reach. Messaging APIs manage acknowledgments so that no messages are dropped in transit.



 

通信是一个基本的需求,正如人与人之间需要交流一样,比较大型的软件系统也往往需要内部或者外部通信。

在系统间通信最基础的通信方式是 socket,但 socket 比较底层。使用起来非常不易。如果需要一些高级特性,需要很多的编程负担。

与 socket 的原始对应,企业级的应用软件往往有着各种各样从简单到复杂的通信需求,表现为不同的通信模型。常见的有:

1)点对点:A 发消息给 B。

2)广播:A 发给所有其他人的消息

3)组播:A 发给多个但不是所有其他人的消息。

4)Requester/response:类似访问网页的通信方式,客户端发请求并等待,服务端回复该请求

5)Pub-sub:类似杂志发行,出版杂志的人并不知道谁在看这本杂志,订阅的人并不关心谁在发表这本杂志。出版的人只管将信息发布出去,订阅的人也只在需要的时候收到该信息。

6)Store-and-forward:存储转发模型类似信件投递,写信的人将消息写给某人,但在将信件发出的时候,收信的人并不一定在家等待,也并不知道有消息给他。但这个消息不会丢失,会放在收信者的信箱中。这种模型允许信息的异步交换。

7)其他通信模型

  • 大小: 164.6 KB
0
0
分享到:
评论

相关推荐

    消息中间件 Apache Qpid 分析

    Apache Qpid 是一款基于 AMQP(Advanced Message Queuing Protocol)协议的开源消息中间件,由 Apache Foundation 开发并维护。消息中间件的主要作用是提供可靠的、异步的、跨平台的通信机制,允许应用程序之间通过...

    qpid:Apache Qpid的镜像

    我们已经开始将单个Git存储库用于Apache Qpid组件,并且您应该将其用于新开发。 现在,该Subversion存储库及其Git镜像主要用于历史参考和一些其他杂项。 Qpid Broker-J [ ] [ ] Qpid CPP [ ] [ ] Qpid Dispatch [ ] ...

    qpid-proton-tools:用于构建 Apache Qpid 和 Apache Qpid Proton 的脚本和工具

    qpid-质子工具 各种工具和实用程序 ...在 Windows 上构建 Apache Qpid 和 Apache Qpid Proton 的方案和脚本。 SSL协议 AMQP.Net Lite 示例程序,使用客户端证书对 ActiveMQ 代理进行身份验证。 包括证书生成脚本。

    qpid-cpp-server

    标题中的"qpid-cpp-server"指的是Apache Qpid的C++服务器端实现,这是一个开源的消息传递系统,基于AMQP(Advanced Message Queuing Protocol)协议。它允许应用程序在分布式环境中进行可靠的数据交换,支持多种编程...

    qpid安装步骤

    Qpid是Apache基金会的一个项目,它提供了一个高性能、可靠的消息中间件服务,支持AMQP (Advanced Message Queuing Protocol) 协议。本篇文章将详细介绍如何在Linux环境下安装配置Qpid,并给出具体的启动命令。 ####...

    利用qpid cluster实现Qpid高可用配置.docx

    Qpid是Apache项目中的一个分布式消息传递系统,它实现了AMQP(Advanced Message Queuing Protocol)标准,用于在分布式环境中提供可靠的消息传递。Qpid集群(qpid cluster)是Qpid的一种高可用性(HA)配置,通过...

    Qpid linux安装

    本文将详细介绍在 Linux 系统上安装 Qpid 的过程。 #### 二、准备工作 在开始安装之前,请确保已具备以下条件: 1. **Linux 系统**:本文档假设您正在使用基于 RHEL(Red Hat Enterprise Linux)或类似发行版的 ...

    qpid jar包

    Qpid Jar包是Apache Qpid项目的一部分,它是一个开源的消息传递系统,实现了AMQP(Advanced Message Queuing Protocol)协议。AMQP是一种标准的、开放的协议,用于在不同的应用程序、平台和组织之间交换消息。Qpid的...

    node-qpid:围绕 Apache Qpid 的 Node.js 本机包装器,特别是 AMQP 1.0 Proton C Messenger API

    节点qpid 围绕 Apache Qpid 的 Node.js 本机包装器,特别是 AMQP 1.0 Proton C API用法您可以使用它与 AMQP 1.0 代理交换消息: // Sendingvar Messenger = require ( 'qpid' ) . proton . Messenger ;var m = new ...

    qpid-cpp-0.6.tar.gz_AMQP_Open Net_qpid_qpid-cpp_消息队列

    Apache Qpid (Open Source AMQP Messaging) 是一个跨平台的企业通讯解决方案,实现了高级消息队列协议。提供了 Java、C++ 两种服务端版本以及 Java、C++、.NET、Python和Ruby语言的客户端。 其中C++版本的服务器端...

    开源项目-bbqgophers-qpid.zip

    这个项目的名字“bbqgophers”暗示了它与Go(Gopher,Go语言的吉祥物)的关系,而“qpid”可能指的是项目的独特特性或者是一个特定的模块,比如消息队列系统,因为Qpid是Apache的一款分布式消息传递框架。...

    node-sbus-qpid:用于 node-sbus 模块的适配器,以将 node-qpid(基于 Apache Qpid Proton)模块用于所有与 AMQP 相关的调用

    由于node-qpid与node-amqp-1-0不同,它对 Apache 的 Qpid Proton 具有原生代码依赖性,因此它只能在 Linux/*nix 系统上运行(到目前为止),但很可能比“纯节点”更快版本(尚未验证)。细节node-sbus依赖五种简单...

    pay-facade简易版支付系统源码所需jar包:groboutils-core-5.jar、proton-jms-0.3.0-fuse-2.jar等

    包含:groboutils-core-5.jar、fastdfs-client、kaptcha-2.3.2.jar、pinyin4j-2.5.0.jar、proton-jms-0.3.0-fuse-2.jar等

    PyPI 官网下载 | qpid-python-0.26.tar.gz

    这个库允许Python开发者与Apache Qpid消息代理进行交互,实现了AMQP(Advanced Message Queuing Protocol)协议,这是一种标准的消息传递协议,用于在分布式系统中可靠地传输数据。 **Python 开发语言** Python是...

    Apache Qpid质子的镜像

    Qpid Proton - AMQP messaging toolkitLinux/OSX BuildWindows Build is a high-performance, lightweightmessaging library. It can be used in the widest range of messaging applications,including brokers, ...

    qpid

    Apache Qpid实现了最新的AMQP规范,这是企业消息传递的第一个开放标准,并提供了事务管理,排队,分发,安全性,管理,集群,联合和异构多平台支持等等。...

    apache-activemq-5.3.1-bin.tar.gz

    要使用ActiveMQ,你需要一个JMS客户端库,如Apache Qpid或Artemis JMS,它们提供API来发送和接收消息。连接到ActiveMQ服务器通常涉及以下步骤:创建ConnectionFactory,创建一个Session,然后创建Producer和Consumer...

Global site tag (gtag.js) - Google Analytics