四大常用MQ的优缺点和应用场景选择

这篇具有很好参考价值的文章主要介绍了四大常用MQ的优缺点和应用场景选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

四大常用MQ的优缺点和应用场景选择

 

一、优缺点

ActiveMQ

官网地址:http://activemq.apache.org/

- 官网介绍

Apache ActiveMQ是最流行的开源、多协议、基于Java的消息代理。它支持行业标准协议,因此用户可以从多种语言和平台的客户端选择中获益。从JavaScript、C、C++、Python、.NET等多个客户端连接。使用无处不在的AMQP协议集成多平台应用程序。使用STOMP over WebSocket在web应用程序之间交换消息。使用MQTT管理您的物联网设备。支持您现有的JMS基础架构及其他基础架构。ActiveMQ提供了支持任何消息传递用例的能力和灵活性。

- 优点

单机吞吐量万级,时效性 ms 级,可用性高,基于主从架构实现高可用性,消息可靠性较低的概率丢失数据

- 缺点

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

Kafka

官网地址:http://kafka.apache.org/

- 官网介绍

超过80%的财富100强公司信任并使用卡夫卡。
Apache Kafka是一个开放源代码的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型应用程序。

- 优点

性能卓越,单机写入TPS 约在百万条/秒,最大的优点,就是吞吐量高。时效性 ms 级可用性非常高,kafka 是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用,消费者采用 Pull 方式获取消息, 消息有序, 通过控制能够保证所有消息被消费且仅被消费一次;有优秀的第三方Kafka
Web 管理界面 Kafka-Manager;在日志领域比较成熟,被多家公司和多个开源项目使用;功能支持:功能较为简单,主要支持简单的 MQ 功能,在大数据领域的实时计算以及日志采集被大规模使用。

-  缺点

Kafka 单机超过 64 个队列/分区,Load 会发生明显的飙高现象,队列越多,load 越高,发送消息响应时间变长,使用短轮询方式,实时性取决于轮询间隔时间,消费失败不支持重试;支持消息顺序,但是一台代理宕机后,就会产生消息乱序,社区更新较慢;

RocketMQ

官方网站:http://rocketmq.apache.org/

- 官网介绍

由于ActiveMQ和Kafka不能满足阿里的需求,他们决定发明一种新的消息传递引擎来处理更广泛的用例集,从传统的发布/订阅场景到高容量实时零丢失容错事务系统。我们相信这个解决方案是有益的,所以我们希望向社区开放源代码。今天,有100多家公司在其业务中使用开源版本的RocketMQ。

- 优点

单机吞吐量十万级,可用性非常高,分布式架构,消息可以做到 0 丢失,MQ 功能较为完善,还是分
布式的,扩展性好,支持 10 亿级别的消息堆积,不会因为堆积导致性能下降,源码是 java 我们可以自己阅读源码,定制自己公司的 MQ

- 缺点

支持的客户端语言不多,目前是 java 及 c++,其中 c++不成熟;社区活跃度一般,没有在MQ
核心中去实现 JMS 等接口,有些系统要迁移需要修改大量代码

RabbitMQ

官方网站:https://www.rabbitmq.com/

- 官网介绍

RabbitMQ 是部署最广泛的开源消息代理。
RabbitMQ拥有数万用户,是最流行的开源消息代理之一。从T-Mobile到Runtastic,RabbitMQ在世界各地的小型初创公司和大型企业中使用。
RabbitMQ是轻量级的,易于在本地和云中部署。它支持多种消息传递协议。RabbitMQ可以在分布式和联合配置中部署,以满足高规模、高可用性需求。
RabbitMQ运行在许多操作系统和云环境上,并为最流行的语言提供了广泛的开发工具。

- 优点

由于 erlang 语言的高并发特性,性能较好;吞吐量到万级,MQ 功能比较完备,健壮、稳定、易
用、跨平台、支持多种语言 如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持 AJAX 文档齐全;开源提供的管理界面非常棒,用起来很好用,社区活跃度高;更新频率相当高

- 缺点

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

二、MQ 的应用场景及选择

1. ActiveMQ
ActiveMQ支持任何消息传递用例的能力和灵活性,比较适合小型吞吐量比较小的公司进行使用,或者MQ起步学习的首选。
2. Kafka
Kafka 主要特点是基于Pull 的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集
和传输,适合产生大量数据的互联网服务的数据收集业务。大型公司建议可以选用,大数据分析必备,如果有日志采集功能,肯定是首选 kafka 了。
3. RocketMQ
天生为金融互联网领域而生,对于可靠性要求很高的场景,尤其是电商里面的订单扣款,以及业务削
峰,在大量交易涌入时,后端可能无法及时处理的情况。RoketMQ 在稳定性上可能更值得信赖,这些业务场景在阿里双 11 已经经历了多次考验,如果你的业务有上述并发场景,建议可以选择 RocketMQ。
4. RabbitMQ
结合 erlang 语言本身的并发优势,性能好时效性微秒级,社区活跃度也比较高,管理界面用起来十分
方便,如果你的数据量没有那么大,中小型公司优先选择功能比较完备的 RabbitMQ。文章来源地址https://www.toymoban.com/news/detail-421286.html

到了这里,关于四大常用MQ的优缺点和应用场景选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis详解,包括安装命令,应用场景,优缺点,案列分析,各个开发语言如何应用

    Redis 是一个基于内存的开源数据库系统,被广泛应用于 Web 应用、消息队列、缓存、实时统计等领域。下面是 Redis 的详解,包括安装命令、应用场景和优缺点,以及案列分析和各个开发语言如何应用。此外,还提供了一些具体代码示例。 Redis 的安装命令因操作系统而异。以下

    2024年02月15日
    浏览(41)
  • Java SPI概念、实现原理、优缺点、应用场景、使用步骤、实战SPI案例

    在当今互联网时代,应用程序越来越复杂,对于我们开发人员来说,如何实现高效的组件化和模块化已经成为了一个重要的问题。而 Java SPI (Service Provider Interface)机制,作为一种基于接口的服务发现机制,可以帮助我们更好地解决这个问题。这样会程序具有高度的 灵活性、

    2024年02月13日
    浏览(45)
  • 三种常见mq的优缺点比较

       常见面试题 常见面试题

    2024年02月11日
    浏览(56)
  • 【HTML】深入全掌握 iframe:了解 its 技术原理、优缺点、最佳应用场景及实战指南

    Web 应用开发中,包含其他网页的框架是很常见的需求。HTML 标签 iframe 提供了一个容器,可以用来嵌入其他页面,并且它自带了一些有用的特性,如调整大小、滚动等。 本文将深入介绍 iframe 技术原理、优缺点、最佳应用场景及实战指南,希望能帮助您更好地运用 iframe,提升

    2024年02月08日
    浏览(50)
  • Spring Boot是什么?详解它的优缺点以及四大核心

    作者: Insist-- 个人主页: insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、Spring Boot 是什么? 二、Spring Boot 的优缺点 1、优点 ①可快速构建独立的 Spring 应用 ②直接嵌入Tomcat、Jetty 和Undertow 服务器 ③通过依赖启动器简化构建配置 ④自动化配

    2024年02月09日
    浏览(50)
  • 【Java基础教程】(二十二)Java新特性篇 · 第二讲:foreach循环——概念及优缺点、使用方式及应用场景~

    Java的 foreach 特性最初出现在JDK 1.5中,也被称为“增强的for循环”。它的设计目的是提供一种简洁、易读的语法,用于遍历集合或数组中的元素,减少了传统 for循环的冗余代码和错误机会。 简单来说, foreach是一种迭代器模式的变体,它允许我们以简单且直观的方式遍历一个

    2024年02月16日
    浏览(46)
  • 浅谈 iframe的优缺点以及使用场景

    提示:以下是本篇文章正文内容 iframe 是嵌入式框架,是 HTML框架 ,还是一个 内联元素 ,iframe元素会创建包含另一个文档的内联框架(行内框架),说白了就是,iframe用来在页面嵌入其他的页面。 通常我们使用iframe直接在页面嵌套iframe标签指定src就可以了。 iframe能够把嵌入

    2024年02月05日
    浏览(62)
  • 鸿蒙系统优缺点,能否作为开发者选择

    凡是都有对立面,就直接说说鸿蒙的优缺点吧。 鸿蒙是从2019年开始做出来的,那时候是套壳Android大家都知晓。从而导致大家不看鸿蒙系统,套壳Android就是多次一举。 现在鸿蒙星河版已经是纯血鸿蒙,但是它的发展一些周期。生态圈的建立难度大,各大厂商加入鸿蒙原生开

    2024年02月20日
    浏览(46)
  • Apache和Nginx的优缺点及各自使用的场景

    Apache和Nginx是两个常见的Web服务器,它们在性能、架构设计和适用场景上有一些不同之处。 Apache: 优点: 模块丰富: Apache支持大量的第三方模块,提供了很大的灵活性和可扩展性。 .htaccess 文件: Apache允许使用.htaccess文件进行配置,使得配置更加灵活,而无需修改主配置文

    2024年01月21日
    浏览(44)
  • ext3 文件系统的特点、优缺点以及使用场景

    ext3(Third Extended File System)是 ext2 文件系统的后续版本,它在 ext2 文件系统的基础上增加了日志功能,以提高文件系统的可靠性和稳定性。下面是 ext3 文件系统的特点、优缺点以及使用场景: 特点: ext3 文件系统是 ext2 文件系统的升级版本,具有兼容性好、稳定可靠等优点,

    2024年02月03日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包