热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MQ消息队列选型分析

对比项RabbitMQKafkaRocketMQ基本情况所属公司/组织PivotalApacheApache开发语言ErlangScala、javaJava默认端口5672909210911使用多语言


































































































































































































































































对比项RabbitMQKafkaRocketMQ
基本情况所属公司/组织PivotalApacheApache
开发语言ErlangScala、javaJava
默认端口5672909210911
使用多语言支持十几种十几种4种
API完善完善非常完善
spring 集成支持支持支持
运维管理控制台自带管理界面自带管理界面
权限管理、安全机制Vhost和UserSSL、SASLTLS
扩展能力支持插件
文档详细详细案例丰富
社区支持更新快,活跃更新快,活跃更新快,活跃
商业版本阿里云阿里云阿里云
部署难度依赖Erlang依赖JDK、ZK依赖JDK
性能并发性Erlang支持,好
消息延迟毫秒毫秒毫秒
消息吞吐量(2core4GB 内存服务器压测)10万级 QPS20万级 QPS10万级 QPS
消息堆积能力
功能支持协议AMQP、MQTT、STOMP、XMPP自定义协议JMS
消费模型Push / PullPullPull
消息过滤Topic、Direct不支持tag
消费历史消息不支持支持支持
消息追踪(tracing)支持通过拦截器实现支持
消息索引不支持支持支持
事务性消息支持支持支持
顺序性消息不支持不支持支持
消费者重试支持不支持支持
死信队列支持不支持支持
优先级队列支持不支持不支持
延迟队列死信队列或插件不支持开源版18个等级,商业版不限
可用+可靠持久化内存,磁盘磁盘磁盘
消息丢失概率
消息重复概率
高可用普通集群和镜像队列分区和副本队列和副本
扩展性差,需要通过HAProxy+Keepalived实现分布式分布式
集群间消息同步支持支持支持

如有不足请补充。



推荐阅读
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 提供:ZStack云计算原创2016-12-26张鑫讲师介绍张鑫ZStack总架构师、联合创始人《系统虚拟化》主要作者,曾任职Intel开源软件技术中心 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了一道经典的状态压缩题目——关灯问题2,并提供了解决该问题的算法思路。通过使用二进制表示灯的状态,并枚举所有可能的状态,可以求解出最少按按钮的次数,从而将所有灯关掉。本文还对状压和位运算进行了解释,并指出了该方法的适用性和局限性。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • RabbitMq之发布确认高级部分1.为什么会需要发布确认高级部分?在生产环境中由于一些不明原因,导致rabbitmq重启,在RabbitMQ重启期间生产者消息投递失败,导致消息丢 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • rabbitmq杂谈
    rabbitmq中的consumerTag和deliveryTag分别是干啥的,有什么用?同一个会话,consumerTag是固定的可以做此会话的名字,deliveryTag每次接 ... [详细]
  • RabbitMQ的消息持久化处理
    1、RabbitMQ的消息持久化处理,消息的可靠性是RabbitMQ的一大特色,那么RabbitMQ是如何保证消息可靠性的呢——消息持久化。2、auto ... [详细]
  • RabbitMq的最终一致性分布式事务
    RabbitMq的最终一致性分布式事务使用rabbitmq的步骤1.运行安装在服务器上的rabbit服务2.在项目中安装依赖3.编写对应的配置文件4.创建对应配置并加上启动注解5. ... [详细]
  • OpenStack 的 Nova 和 Glance 组件
    简单回顾一下OpenStack三大组件的用途:OpenStackCompute(Nova),为云组织的控制器,它提供一个工具来部署云&#x ... [详细]
  • RabbitMQ消息中间件快速入门:SpringBoot整合生产者与消费者
    前言本章我们来一次快速入门RabbitMQ——生产者与消费者。需要构建一个生产端与消费端的模型。什么意思呢?我们的生产者发送一条消息,投递到RabbitMQ集群也就是Broker。 ... [详细]
  • 【Hoxton.SR1版本】Spring Cloud Stream消息驱动
    目录一、简介二、搭建消息生产者端三、搭建消息消费者端四、消息重复消费问题五、消息持久化六、总结一、简介在实际项目中,服务与服务之间的通信往往我们会采用消 ... [详细]
  • 目录摘要SQL的现在NoSQL,NotOnlySQL要分布式,也要SQL总结引用摘要毫不夸张的说,关系数据库是企业软件系统的核心,企业形形色色信息行为的背后,都有关系数据库的支撑。 ... [详细]
  • 先回顾一下,在之前的SpringCloudConfig的介绍中,我们还留了一个悬念:如何实现对配置信息的实时更新。虽然,我们 ... [详细]
author-avatar
谁是美甲花样美指
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有