• Apache Qpid


    Apache Qpid是最新开放企业信息标准AMQP(Advanced Message Queuing Protocol)的一个开源实现。Java版实现完全支持JMS标准,可运行在任意Java平台上。

    此外Qpid还提供AMQP Client APIs的各种语言实现包括:

       1. Java, fully conformant with JMS 1.1
       2. C# .NET, 0-10 using WCF
       3. Ruby
       4. Python
       5.C++

    What is AMQP?

    AMQP Advanced Message Queuing Protocol is an open standard designed to support reliable, high-performance messaging over the Internet. AMQP can be used for any distributed or business application, and supports common messaging paradigms like point-to-point, fanout, publish-subscribe, and request-response.

    Apache Qpid implements AMQP, including transaction management, queuing, clustering, federation, security, management and multi-platform support.

    Apache Qpid implements the latest AMQP specification, providing transaction management, queuing, distribution, security, management, clustering, federation and heterogeneous multi-platform support and a lot more.

    Apache Qpid is highly optimized, and aims to be 100% AMQP Compliant.

    点击次数   官方主页【官方主页】   下载地址【下载地址】

    网友留言/评论

    我要留言/评论

    相关开源项目

    mom4j:mom4j是一个完全实现JMS1.1规范的消息中间件并且向下兼容JMS1.0与1.02.它提供了自己的消息处理存储使它独立于关系数据与语言,所以它的客户端可以用任何语言开发.
    OpenJMS:OpenJMS是一个开源的Java Message Service API 1.0.2 规范的实现,它包含有以下特性:
    *. 它既支持点到点(point-to-point)(PTP)模型和发布/订阅(Pub/Sub)模型。
    *. 支持同步与异步消息发送
    *. JDBC持久性管理使用数据库表来存储消息
    *. 可视化管理界面。
    *. Applet支持。
    *. 能够与Jakarta Tomcat这样的Servlet容器结合。
    *. 支持RMI, TCP, HTTP 与SSL协议。
    *. 客户端验证
    *. 提供可靠消息传输、事务和消息过滤
    MantaRay:MantaRay基于peer-2-peer 技术。它具有以下特性:
    1.它既支持点对点(point-to-point)的域,又支持发布/订阅(publish/subscribe)类型的域。
    2.并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。
    3.消息过滤体制。
    4.能与WebLogic and WebSphere 给合。
    5.支持TCP, UDP 与 HTTP传输协。
    Spring AMQP:Spring AMQP是一个用于替换原先Spring JMS支持的消息解决方案。提供收发消息的模板,还支持基于消息驱动的POJO。用法和配置与Spring中对JMS的支持一样。这个项目包含Java和.NET两个版本。
    Kafka: Kafka是一个高吞吐量分布式消息系统。linkedin开源的kafka。 Kafka就跟这个名字一样,设计非常独特。首先,kafka的开发者们认为不需要在内存里缓存什么数据,操作系统的文件缓存已经足够完善和强大,只要你不搞随机写,顺序读写的性能是非常高效的。kafka的数据只会顺序append,数据的删除策略是累积到一定程度或者超过一定时间再删除。Kafka另一个独特的地方是将消费者信息保存在客户端而不是MQ服务器,这样服务器就不用记录消息的投递过程,每个客户端都自己知道自己下一次应该从什么地方什么位置读取消息,消息的投递过程也是采用客户端主动pull的模型,这样大大减轻了服务器的负担。Kafka还强调减少数据的序列化和拷贝开销,它会将一些消息组织成Message Set做批量存储和发送,并且客户端在pull数据的时候,尽量以zero-copy的方式传输,利用sendfile(对应java里的 FileChannel.transferTo/transferFrom)这样的高级IO函数来减少拷贝开销。可见,kafka是一个精心设计,特定于某些应用的MQ系统,这种偏向特定领域的MQ系统我估计会越来越多,垂直化的产品策略值的考虑。
    Presumo:Presumo也是一个实现Java Message Service API的JMS消息中间件。
    Somnifugi:Somnifugi使得工作在同一个java虚拟机中的线程能实现消息互发。
    play-rabbitmq: 这是Play! Framework开发框架的一个扩展模块。用于生产和消费RabbitMQ消息。
    Open Message Queue:Open Message Queue是Sun Java System Message Queue的一个开源版本。Open message queue是一个企业级,可升级,非常成熟的消息服务器。它为面向消息的系统集成提供一套完整的JMS(Java Message Service )实现。由于Open MQ源自Sun的Java Message Queue,所以其具有Java System Message Queue拥有的所有特性,功能和性能。
    HornetQ:HornetQ是一个支持集群和多种协议,可嵌入、高性能的异步消息系统。HornetQ完全支持JMS,HornetQ不但支持JMS1.1 API同时也定义属于自己的消息API,这可以最大限度的提升