目前业界有很多MQ产品,我们作如下对比:
RabbitMQ
是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持。
Redis
是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然它是一个Key-Value数据库存储系统,但它本身支持MQ功能,所以完全可以当做一个轻量级的队列服务来使用。对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录一次执行时间。测试数据分为128Bytes、512Bytes、1K和10K四个不同大小的数据。实验表明:入队时,当数据比较小时Redis的性能要高于RabbitMQ,而如果数据大小超过了10K,Redis则慢的无法忍受;出队时,无论数据大小,Redis都表现出非常好的性能,而RabbitMQ的出队性能则远低于Redis。
|
入队 |
出队 |
||||||
|
128B |
512B |
1K |
10K |
128B |
512B |
1K |
10K |
Redis |
16088 |
15961 |
17094 |
25 |
15955 |
20449 |
18098 |
9355 |
RabbitMQ |
10627 |
9916 |
9370 |
2366 |
3219 |
3174 |
2982 |
1588 |
ZeroMQ
号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZMQ能够实现RabbitMQ不擅长的高级/复杂的队列,但是开发人员需要自己组合多种技术框架,技术上的复杂度是对这MQ能够应用成功的挑战。ZeroMQ具有一个独特的非中间件的模式,你不需要安装和运行一个消息服务器或中间件,因为你的应用程序将扮演了这个服务角色。你只需要简单的引用ZeroMQ程序库,可以使用NuGet安装,然后你就可以愉快的在应用程序之间发送消息了。但是ZeroMQ仅提供非持久性的队列,也就是说如果down机,数据将会丢失。其中,Twitter的Storm中使用ZeroMQ作为数据流的传输。
ActiveMQ
是Apache下的一个子项目。 类似于ZeroMQ,它能够以代理人和点对点的技术实现队列。同时类似于RabbitMQ,它少量代码就可以高效地实现高级应用场景。RabbitMQ、ZeroMQ、ActiveMQ均支持常用的多种语言客户端 C++、Java、.Net,、Python、 Php、 Ruby等。
Jafka/Kafka
Kafka是Apache下的一个子项目,是一个高性能跨语言分布式Publish/Subscribe消息队列系统,而Jafka是在Kafka之上孵化而来的,即Kafka的一个升级版。具有以下特性:快速持久化,可以在O(1)的系统开销下进行消息持久化;高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统,Broker、Producer、Consumer都原生自动支持分布式,自动实现复杂均衡;支持Hadoop数据并行加载,对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka通过Hadoop的并行加载机制来统一了在线和离线的消息处理,这一点也是本课题所研究系统所看重的。Apache Kafka相对于ActiveMQ是一个非常轻量级的消息系统,除了性能非常好之外,还是一个工作良好的分布式系统。
其他一些队列列表HornetQ、Apache Qpid、Sparrow、Starling、Kestrel、Beanstalkd、Amazon SQS就不再一一分析。
相关推荐
总之,这些JAR文件构成了开发IBM MQ 7.5应用程序的基础,它们包含了与IBM MQ交互所需的各类API和功能,使得开发者能够在Java环境中实现与IBM MQ的消息通信。在实际项目中,需要根据具体需求选择合适的API,遵循最佳...
MQ-9一氧化碳传感器模块是一款广泛应用于环境监测和安全防护领域的设备,尤其在室内空气质量检测、...通过深入学习这些资料和源码,用户可以掌握MQ-9传感器的使用技巧,为各类应用场合提供可靠的一氧化碳检测解决方案。
该传感器模块体积小巧,采用LM393比较器以及ZYMQ-2气体敏感元件作为核心部件,其工作电压为直流5V,能够提供模拟量输出及TTL电平输出两种信号形式,便于连接至各类控制设备如单片机系统。 #### 二、技术参数 - **...
“气体传感器分类.docx”文档可能会详细介绍各类气体传感器的分类、特点和应用场景,有助于我们理解MQ-135在整个气体传感器家族中的位置和优势。 “气敏传感器原理.docx”则可能深入讲解气敏传感器的基本原理,包括...
总的来说,STM32F407结合各类传感器和继电器构建的家庭安全检测系统,不仅能够有效检测家庭环境的安全状况,还能在紧急情况下自动采取措施,保障用户的生命财产安全。这个系统展示了嵌入式开发中的硬件选型、传感器...
这些传感器主要用于检测不同类型的气体,如甲烷(CH4)、酒精(C2H5OH)、烟雾等,为各类应用提供实时、准确的气体浓度数据。在嵌入式系统设计中,MQ系列传感器因其低成本、低功耗和易于集成的特点而受到青睐。 MQ...
在IT领域,性能测试是保障系统稳定运行的重要环节,LoadRunner作为一款强大的负载和性能测试工具,被广泛应用于各类软件系统的测试中。本文将深入探讨如何利用LoadRunner 11与IBM MQ(Message Queuing)进行交互,...
火灾报警系统是安全防范的重要组成部分,特别是在各类建筑和生产环境中,能够及时发现并预警火灾,保护生命财产安全。本文将详细讲解基于51单片机的火灾报警器设计,涉及DS18B20温度传感器、MQ-2烟雾传感器以及...
MQ中间件整理的思维导图,emmx格式,需要下载mindmaster自己行打开,各类中间件使用场景、功能对比等
MQ-3模块因其简单易用和成本效益高,被广泛应用在各类酒精浓度检测设备中,如车载酒精报警器、智能家居安全系统和实验室检测设备。结合STM32的强大功能,模块可以实现精确、实时的酒精浓度监测,确保用户的安全和...
MQ可以作为高效的数据收集工具,帮助收集各类数据流,如业务日志、监控数据、用户行为等,并进行后续的大数据分析。 #### 三、使用MQ的好处 1. **提高系统响应速度-异步执行**:通过异步处理任务,可以显著提升...
在这个校园医疗管理系统中,MySQL作为数据存储的主要后端,保存系统中的各类医疗数据,如患者信息、预约记录、药品库存等。 5. 消息队列MQ: 消息队列(Message Queue,MQ)是用于解耦不同服务间通信的一种技术。...
STC15F2K60S2是一款高性能、低功耗的8051系列单片机,广泛应用于各类嵌入式控制系统中。MQ-2传感器则是一种通用型气体传感器,能够检测多种可燃气体,如甲烷、液化石油气、氢气以及烟雾等。 1. **STC15F2K60S2...
BMP280驱动程序是为测量空气压力而设计的一个关键组件,主要应用于气象监测、环境研究、物联网设备以及各类智能硬件。这个名为"BMP280_driver-master.zip"的压缩包包含了一个完整的BMP280传感器驱动程序,用于与BMP...
PLC市场上主流品牌有西门子、三菱、欧姆龙、AB罗克韦尔等,它们提供了不同型号和功能的PLC产品,满足各类应用场景的需求。 2.5 技术发展新动向 PLC技术正朝着更高速度、更大容量、更强通信能力的方向发展,同时...
总结来说,佛山照明的MQ622021RZ2C是一款高效率、多色温、安全可靠的LED天花灯,其优秀的光学和电气特性,加上优良的结构设计,使其成为各类室内照明的理想选择。同时,它遵循严格的安规标准和环保要求,展现出对...
hanlp分词各类词性状态表: 比如: a 形容词 ad 副形词 b 区别词 n 名词 h 前缀 i 成语 j 简称略语 k 后缀 l 习用语 m 数词 mg 数语素 Mg 甲乙丙丁之类的数词 mq 数量词
幕墙工程质量控制资料(MQ2)主要包括各类材料的质量证明书和性能检测报告,例如铝合金、钢材、五金件、硅酮胶、保温材料等,这些都必须满足国家和行业标准,以确保幕墙的结构稳定性和耐久性。 检验报告和复验报告...
文件服务器用于存储NC6.5系统中产生的各类文件资源,包括但不限于上传的文档、图片等。 - **硬件配置:** 根据预计的文件存储量选择合适的服务器配置。 - **文件存储策略:** 定义文件的命名规则、存储路径等。 - *...