RabbitMQ、Kafka、RocketMQ比较 叁歲伎倆 2023-01-23 15:48 32阅读 0赞 <table> <thead> <tr> <th></th> <th>对比项</th> <th>rabbitMQ</th> <th>kafka</th> <th>rocketMQ</th> </tr> </thead> <tbody> <tr> <th colspan="1">使用</th> <th>开发语言</th> <td>Erlang</td> <td>Scala,Java</td> <td>Java</td> </tr> <tr> <th>默认端口</th> <td>5672</td> <td>9092</td> <td>10911</td> </tr> <tr> <th>语言支持</th> <td>十几种</td> <td>十几种</td> <td>4种</td> </tr> <tr> <th>定位</th> <td>传统消息中间件、保证消息可靠性</td> <td>日志消息,高并发高吞吐</td> <td> <p>非日志消息,保证可靠性,高并发高吞吐</p> </td> </tr> <tr> <th>API</th> <td>完善</td> <td>完善</td> <td>非常完善</td> </tr> <tr> <th>Spring集成</th> <td>支持</td> <td>支持</td> <td>支持</td> </tr> <tr> <th>管理控制台</th> <td>自带管理界面</td> <td>无</td> <td>自带管理界面</td> </tr> <tr> <th>权限、安全</th> <td>Vhost、user</td> <td>SSL、SASL</td> <td>TLS</td> </tr> <tr> <th>部署</th> <td>依赖Erlang</td> <td>依赖JDK、ZK</td> <td>依赖JDK</td> </tr> <tr> <th colspan="1">性能</th> <th>并发性</th> <td>Erlang支持,好</td> <td>高</td> <td>高</td> </tr> <tr> <th>消息延迟</th> <td>毫秒</td> <td>毫秒</td> <td>毫秒</td> </tr> <tr> <th>单机吞吐量</th> <td>10W级 QPS</td> <td>20W级 QPS</td> <td>10W级 QPS</td> </tr> <tr> <th>消息积压能力</th> <td> <p>取决于内存和设置的磁盘阈值</p> <p>40%变黄,超过40%变红拒绝接收</p> </td> <td>非常好,受磁盘限制,但是保留7天后会删除</td> <td>非常好,受磁盘限制,但是保留3天后会删除</td> </tr> <tr> <th colspan="1"> <p>可用</p> <p>、</p> <p>可靠</p> </th> <th>持久化</th> <td>内存、磁盘</td> <td>磁盘</td> <td>磁盘</td> </tr> <tr> <th>可用性</th> <td>cluster普通集群、镜像队列模式集群</td> <td>异步刷盘,数据可能丢失</td> <td>异步、同步刷盘都支持</td> </tr> <tr> <th>消息丢失概率</th> <td>最低</td> <td>低</td> <td>低</td> </tr> <tr> <th>消息重复概率</th> <td>无</td> <td>有</td> <td>无</td> </tr> <tr> <th>高可用</th> <td>普通集群、镜像队列</td> <td>分区和副本</td> <td>队列和副本</td> </tr> <tr> <th>功能</th> <th>支持协议</th> <td>AMQP、MQTT、STOMP、XMPP</td> <td>自定义kafka协议</td> <td>JMS</td> </tr> <tr> <th></th> <th>消费模型</th> <td>Push、Pull</td> <td>Pull</td> <td> <p>Pull</p> </td> </tr> <tr> <th></th> <th>消息过滤</th> <td>Topic,Direct</td> <td>不支持</td> <td>tag标签</td> </tr> <tr> <th></th> <th>消息追踪</th> <td>支持</td> <td>通过拦截器实现</td> <td>支持</td> </tr> <tr> <th></th> <th>消息索引</th> <td>不支持</td> <td>支持</td> <td>支持</td> </tr> <tr> <th></th> <th>顺序消费</th> <td> <p>支持;一个消息消费失败,此消息的顺序会被打乱</p> </td> <td>支持;消费失败,顺序会被打乱</td> <td>支持;消费失败,会暂停</td> </tr> <tr> <th></th> <th>定时消息</th> <td>支持</td> <td>不支持</td> <td>支持</td> </tr> <tr> <th></th> <th>事务消息</th> <td>不支持</td> <td>不支持</td> <td>支持</td> </tr> <tr> <th></th> <th>消息重试</th> <td>支持</td> <td>不支持</td> <td>支持</td> </tr> <tr> <th></th> <th>死信队列</th> <td>支持</td> <td>不支持</td> <td>支持</td> </tr> <tr> <th></th> <th>延迟队列</th> <td>死信队列或插件</td> <td>不支持</td> <td>开源版18个延迟等级,商业版不限</td> </tr> <tr> <th></th> <th>优先级队列</th> <td>支持</td> <td>不支持</td> <td>支持</td> </tr> </tbody> </table>
相关 分数比较 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhp 短命女/ 2022年11月12日 10:53/ 0 赞/ 203 阅读
相关 交换、比较 交换 比较 -------------------- 交换 请编写一个算法,不用任何额外变量交换两个整数的值。 给定一个数组 妖狐艹你老母/ 2022年06月09日 09:56/ 0 赞/ 174 阅读
相关 字符串比较 字符串比较 1. 比较是否同一字符串对象 String str1=new String("hello wolrd"); String str2=new Strin 男娘i/ 2022年06月03日 02:28/ 0 赞/ 309 阅读
相关 Linux Shell日期比较,数值比较和字符串比较及相关 Linux Shell日期比较,数值比较和字符串比较及相关 说明: 1. 把字符串当成整型进行比较,由于abcd等字符对不上0123当程序尝试去转成二进制时无法完成 青旅半醒/ 2022年05月18日 04:17/ 0 赞/ 374 阅读
相关 字符串比较 题目描述 比较两个字符串s1和s2的大小,如果s1>s2,则输出一个正数;若s1=s2,则输出0;若s1<s2,则输出一个负数。 要求:不用strcpy函数;两个字符串 红太狼/ 2022年05月05日 10:28/ 0 赞/ 373 阅读
相关 比较 形容词 副词 有所谓的比较的概念 quick large ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_1 素颜马尾好姑娘i/ 2022年04月12日 13:30/ 0 赞/ 304 阅读
相关 比较器 比较器 我们知道,使用TreeSet集合当我们存储的元素是有默认的规则时候,取出的元素顺序是升序输出的,那么当我们存储一个自定义的引用类型数据的时候也想让他们按照一个顺序 喜欢ヅ旅行/ 2022年03月08日 02:52/ 0 赞/ 331 阅读
相关 文本比较 参考:[https://www.cnblogs.com/grenet/archive/2010/06/01/1748448.html][https_www.cnblogs 亦凉/ 2022年02月03日 06:39/ 0 赞/ 349 阅读
相关 值比较 跟 索引比较 要分清 值比较 跟 索引比较。值比较常见的有字符串,数字跟布尔。索引比较常见的有对象,数组跟函数。索引比较的话只要索引不同即不等。 -------------------- 川长思鸟来/ 2021年09月22日 09:04/ 0 赞/ 463 阅读
相关 js 深比较和浅比较 浅比较: 基本类型会比较值是否相等 复杂类型会比较引用地址是否相等,如=== 深比较: 复杂类型递归遍历里面的每一个属 淡淡的烟草味﹌/ 2021年07月24日 11:39/ 0 赞/ 503 阅读
还没有评论,来说两句吧...