• 常用MQ的对比冷知识


    16年阿里将RocketMQ捐赠给了开源软件基金会Apache,开源路走在了前面

     

     

    各类消息中间件对比

    ActiveMQ

    ActiveMQ是Apache出品的,最流行,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演者特殊的地位。

    特性

    ActiveMQ支持多种语言和协议编写客户端:Java、C、C++、C#、Perl、Python、PHP

    支持应用协议:OpenWire、Stomp REST、WS NotificationXMPP、AMQP

    ActiveMQ完全支持JMS1.1和J2EE1.4规范(持久化,XA消息,事务)

    ActiveMQ还支持一些高级特性:虚拟主题、组合目的、镜像队列

    RabbitMQ

    RabbitMQ是一个开源的AMQP实现,服务端用Erlang语言编写。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    特性:

    支持多种客户端,如Python、Ruby、.NET、Java、JMS、C、PHP、Actionscript等

    AMQP的完整实现(vhost、Exchange、Binding、Routing Key等)

    支持事务、发布确认

    支持消息持久化

    Kafka

    Kafka是一个高吞吐量的分布式发布订阅消息系统,是一个分布式的、分区的、可靠的分布式日志存储服务。它公国一种独一无二的设计提供了一个消息系统的功能。

    Kafka本身不是一个严格意义上的消息中间件,它本身是用来做日志储存的。所以kafka对消息的顺序要求的非常严格。

    特性

    Kafka通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于及时数以TB的消息存储也能够保持长时间的稳定性能。Kafka储存算法在持久化方面做得非常好,即使面对TB级别的消息(日志)数据也能给偶偶保持长时间的稳定。

    高吞吐量:即使是非常普通的硬件。Kafka也可以支持每秒数百万的消息。

    kafka支持分区(Partition)、消费者分组(Consumer Group)

  • 相关阅读:
    3个百度网盘下载实用小技巧
    decodeURIComponent 解码函数
    background属性怎么添加2个或多个背景图
    本地运行vue项目webpack提示 Compiled successfully
    var和let区别简述
    picture元素的使用
    博客园自定义鼠标icon
    background-size:100% 100% 和 background-size:cover的区别简述
    ScreenToGif——gif动图工具使用说明
    离职个人社保补缴——程序员也应该知道的社保基础知识科普
  • 原文地址:https://www.cnblogs.com/Dmand/p/13129571.html
Copyright © 2020-2023  润新知