软件测试培训之常见MQ测试分类

网友投稿 753 2022-11-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件测试培训之常见MQ测试分类

1. ActiveMQ

优点:

单机吞吐量: 万级。

时效性: ms级。

可用性:高。

消息可靠性:较低概率出现丢失数据。

缺点

官方社区现在对于 ActiveMQ 5.x的版本维护越来越少,高吞吐量场景较少使用。

2. Kafka

Apache下的一个子项目,使用scala实现的一个高性能分布式Publish/Subscribe消息队列系统。尤其在大数据上是个杀手锏,吞吐量在百万级,在数据采集、传输、存储的过程中发挥举足轻重的作用。

优点

单机吞吐量: 百万级。

时效性: ms级。

可用性:非常高。

消息可靠性:可配置 0 丢失。

分布式:一个数据有多个副本,少数机器宕机也不会丢失数据。

缺点

单机超过64个队列/分区,CPU会明显变高,队列越多越高,发送消息响应时间变长。

消费失败不支持重试。

Kafka主要特点是基于PULL的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输,适合产生大量数据的互联网服务的数据收集业务。

3. RocketMQ

阿里系下开源的一款分布式、队列模型的消息中间件,是阿里参照kafka设计思想使用java实现的一套MQ,并做了自己的改进。被阿里广泛的应用在订单、交易、充值、流计算、消息推送、日志流处理等场景。

优点

单机吞吐量: 十万级。

时效性: ms级。

可用性:非常高。

消息可靠性:可配置 0 丢失。

分布式:支持。

扩展性好,支持10亿级别的消息堆积。

源码是java,有利于定制。

缺点

支持的语言不多,主要是java,C++还不成熟。社区活跃也一般,没有在 MQ 核心中实现 JMS 等接口,有些系统需要迁移则要修改大量代码。

RocketMQ 天生为了金融互联网而生,对于可靠性要求很高的场景,比如电商里的扣款,它更值得信赖。

4. RabbitMQ

使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP,STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。

优点

单机吞吐量: 万级。

时效性:μs级。

可用性:高。

消息可靠性:基本不丢失。

支持多语言。

社区活跃度高,更新频率高

缺点

商业版需要付费,学习成本较高。

RabbitMQ 性能好,时效性强,管理界面也很友好。如果数据量没那么大,中心型业务可以优先选择功能完备的 RabbitMQ。

上一篇:滴滴夜莺之自定义插件
下一篇:linux如何创建目录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~