美文网首页
消息队列篇

消息队列篇

作者: markDownMan | 来源:发表于2023-04-11 17:48 被阅读0次
1. ActiveMQ,RabbitMQ,RocketMQ,kafka区别?

Kafka、RocketMQ、RabbitMQ的对比

  1. ActiveMQ:社区不活跃,不适于大数据量平法场景
  2. RabbitMQ(小规模数据):
    优点:性能较好,支持多语言使用。吞吐量达到万级数据,MQ功能齐全,社区活跃性强。
    缺点:erlang语言开发,不利于二次开发。
  3. RocketMQ(电商):
    优点:吞吐量十万级,高可用,分布式,支持10亿级别的数据堆积,消息可靠性强。
    缺点:只支持java,c++,社区活跃性一般
  4. kafka(日志采集):
    优点:吞吐量最高,高可用,分布式
    缺点:功能较为简单,消费失败不支持重试,发生宕机后,数据顺序不一致。社区更新较缓慢。
2 RocketMQ的原理

RocketMQ由NameServer注册中心集群,Producer生产者集群,Consumer消费者集群和若干Broker(RocketMQ进程组成)

  1. Broker启动时向所有NameServer注册,并保持长连接,30秒发送一次心跳。
  2. Producter发送消息时,向NameServer获取Broker服务器地址,根据负载均衡算法选择一台服务器发送消息。
  3. Consumer消费消息时,向NameServer获取
3.MQ如何保证消息的高效读写?

kafka,rocketMQ通过零拷贝技术优化文件的读写。
传统文件拷贝方式:


f5294ed6d26e8fc0997e8806c1de044.png

零拷贝方式:


49592bc70f8bf689640f0e456411649.png
零拷贝的2种方式:
1.mmap:适合1.5-2g的文件。创建一个服务器内核内存缓冲区的映射,应用通过文件映射,读写文件。
2.DMA:无限制。底层用DMA技术处理文件。FileChannel

相关文章

  • 消息队列ActiveMQ的使用详解

    通过上一篇文章 《消息队列深入解析》,我们已经消息队列是什么、使用消息队列的好处以及常见消息队列的简单介绍。 这一...

  • 消息队列概念与认知

    MQ学习系列: 消息队列概念与认知 ActiveMQ Topic消息重发 本文是-消息队列学习的概念与介绍篇。目的...

  • PHP优化之缓存Opcache

    在上一篇Nginx负载均衡与RabbitMQ消息队列实践,我们实践了Nginx负载均衡与RabbitMQ消息队列的...

  • Redis可靠队列

    前一篇文章《Redis消息队列》介绍了一种简单的FIFO队列的实现。 FIFO队列中的消息一经发送出去,便从队列里...

  • 消息队列:消息队列简介

    1. 什么是消息队列 消息队列(message queue),是一种应用程序的通信方法; 消息队列是 生产者-消费...

  • 消息中间件

    消息中间件,也可以叫做中央消息队列或者是消息队列(区别于本地消息队列,本地消息队列指的是 JVM 内实现的队列实现...

  • RabbitMQ实战:运行和管理RabbitMQ

    本系列是「RabbitMQ实战:高效部署分布式消息队列」书籍的总结笔记。 上一篇 介绍了AMQP消息通信,包括队列...

  • 架构系列-消息队列篇

    什么是消息队列? 消息队列的定义消息队列中的“消息”即指同一台计算机的进程间,或不同计算机的进程间传送的数据;“消...

  • 消息队列对比

    引用: 常用消息队列对比消息队列及常见消息队列介绍 常用消息队列 1. RabbitMQ 用erlang语言开发的...

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

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

网友评论

      本文标题:消息队列篇

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