美文网首页架构之路
消息队列使用

消息队列使用

作者: 无玄 | 来源:发表于2021-07-12 19:05 被阅读0次

消息队列介绍

消息队列主要是为了就解决生产者和消费者之间的通信问题,生产者先将消息投递一个叫做「队列」的容器中,而消费者不断的从容器中取出消息,并进行消费。

消息队列适用场景

  • 解耦
    将消息写入消息队列,需要消息的系统自己从消息队列中订阅,信息生产者和消费者之间不需要直接的交互。
  • 异步
    将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度。
  • 广播
    将消息写入消息队列,所有的消费者都直接直接订阅,进行各自的消费动作,之间互不影响。
  • 削峰
    消费者可以按照服务并发能力,从消息队列中慢慢拉取消息进行消费,避免了短暂的峰值导致的系统承压过大。

消息队列选型

常用的消息队列:ActiveMQ、RocketMQ、RabbitMQ、Kafka

特性 RabbitMQ RocketMQ kafka
开发语言 erlang java scala+java
单机吞吐量 万级 10万级 10万级
时效性 us级 ms级 ms级以内
可用性 高(主从) 非常高(分布式) 非常高(分布式)
消费模式 Pull+Push Pull+Push Pull
消息可靠性 基本不丢 经过参数优化配置,可以做到0丢失 经过参数优化配置,可以做到0丢失
功能特性 并发能力很强,性能极其好,延时很低,管理界面较丰富 MQ功能比较完备,扩展性佳 功能较为简单,支持主要的MQ功能

如果使用消息队列主要场景是处理在线业务,比如在交易系统中用消息队列传递订单,需要低延迟和高稳定性,可以使用RabbitMQ和RocketMQ。RocketMQ的社区活跃度,有稳定支持,如果中小型公司,技术实力较为一般,技术挑战不是特别高,用 RabbitMQ 是不错的选择;大型公司,基础架构研发实力较强,用 RocketMQ 是很好的选择。
如果是大数据领域的实时计算、日志采集等场景, Kafka 是业内标准,社区活跃度很高,何况几乎是全世界这个领域的事实性规范。

参考文档:

消息队列

相关文章

  • 消息队列应用-使用异步队列就解耦了吗

    消息队列作用一文介绍了为什么要使用消息队列。我们再来讨论下如何有效使用消息队列。 消息队列模式 目前主流消息队列主...

  • Kafka常见问题解决

    概要:我们使用消息队列,就需要知道为什么要用消息队列,什么场景需要用消息队列,使用消息队列能带来哪些好处和消息队列...

  • 分布式之消息队列复习精讲!

    前言 复习要点 本文大概围绕如下几点进行阐述: 为什么使用消息队列? 使用消息队列有什么缺点? 消息队列如何选型?...

  • 分布式之消息队列复习精讲

    引言 复习要点 本文大概围绕如下几点进行阐述: 为什么使用消息队列?使用消息队列有什么缺点?消息队列如何选型?如何...

  • RabbbitMQ RabbitListener 使用IP动态队

    在RabbitMQ消息队列使用 @RabbitListener 接收消息,队列名称使用常量命名,但是如果使用动态队...

  • 信息队列

    消息队列 (1)为什么使用消息队列啊?消息队列有什么优点和缺点啊?kafka、activemq、rabbitmq、...

  • 面试官心理分析+面试题剖析:消息队列+Redis 缓存+分布式系

    消息队列 1、为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、Roc...

  • 关于MQ,你必须知道的

    OK那么消息队列MQ有什么套路呢? 使用消息队列场景和好处 使用消息队列会带来什么问题,有什么解决方案 如何使用M...

  • 消息队列使用

    消息队列介绍 消息队列主要是为了就解决生产者和消费者之间的通信问题,生产者先将消息投递一个叫做「队列」的容器中,而...

  • 面试官:消息队列这些我必问

    消息队列连环炮 项目里怎么样使用 MQ 的? 为什么要使用消息队列? 消息队列有什么优点和缺点? kafka,ac...

网友评论

    本文标题:消息队列使用

    本文链接:https://www.haomeiwen.com/subject/tyyrpltx.html