一文带你搞定 3 大消息中间件!

Posted Java充电社

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文带你搞定 3 大消息中间件!相关的知识,希望对你有一定的参考价值。

大家好,消息中间件,大家或多或少听过,大部分公司都会用到的一种技术。

1、市面上常见的消息中间

  • kafka
  • rocketmq
  • rabbitmq
  • actviemq
  • redis
  • ZeroMQ

这里咱们只需要掌握好前 3 个就够了,基本上企业中如果要用消息中间件,99%的概率会在前三个中选择,所以我们必须把这 3 个拿下,不管是面试还是工作,会让你顺手很多。

2、kafka

性能最高的一个消息中间件。

Apache 下的一个子项目,使用 scala 实现的一个高性能分布式 Publish/Subscribe 消息队列系统,具有以下特性:

  • 快速持久化:通过磁盘顺序读写与零拷贝机制,可以在 O(1)的系统开销下进行消息持久化;
  • 高吞吐:在一台普通的服务器上既可以达到 10W/s 的吞吐速率;
  • 高堆积:支持 topic 下消费者较长时间离线,消息堆积量大;
  • 完全的分布式系统:Broker、Producer、Consumer 都原生自动支持分布式,依赖 zookeeper 自动实现复杂均衡;
  • 支持 Hadoop 数据并行加载:对于像 Hadoop 的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。

在线学习视频

https://www.bilibili.com/video/BV1a4411B7V9

3、RocketMQ

RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。

作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。

其主要功能有:

  • 灵活可扩展性

  • 海量消息堆积能力

  • 支持顺序消息

  • 多种消息过滤方式

  • 支持事务消息

  • 回溯消费等常用功能。

  • 亿级消息堆积能力

  • Java 开发的

推荐学习视频

https://www.bilibili.com/video/BV1L4411y7mn

4、RabbitMQ

又是一款性能特别高的消息中间件,kafka 一般用在日志方法,而 rocketmq 和 rabbitmq 通常用在业务消息方面,所以如果需要在业务中选择一款 mq,那么 rocketmq 或者 rabbitmq 都可以的,用的人都特别多,上手也很快,文档很齐全,遇到问题了,可以很快的在网上找到解决方案。

https://www.rabbitmq.com/

推荐学习视频

https://www.bilibili.com/video/BV15k4y1k7Ep

5、更多好文