https://gitee.com/fakerlove/rabbitmq

文章目录

  • 1.MQ引言
    • 1.1 什么是MQ
    • 1.2 MQ有哪些
    • 1.3 不同MQ特点

1.MQ引言

1.1 什么是MQ

MQ(Message Quene) : 翻译为 消息队列,通过典型的 生产者消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件 通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

1.2 MQ有哪些

当今市面上有很多主流的消息中间件,如老牌的ActiveMQRabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。

1.3 不同MQ特点

# 1.ActiveMQActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。它是一个完全支持JMS规范的的消息中间件。丰富的API,多种集群架构模式让ActiveMQ在业界成为老牌的消息中间件,在中小型企业颇受欢迎!# 2.KafkaKafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache顶级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。# 3.RocketMQRocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化,目前在阿里集团被广泛应用于交易、充值、流计算、消息推送、日志流式处理、binglog分发等场景。# 4.RabbitMQRabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。

RabbitMQ比Kafka可靠,Kafka更适合IO高吞吐的处理,一般应用在大数据日志处理或对实时性(少量延迟),可靠性(少量丢数据)要求稍低的场景使用,比如ELK日志收集。

RabbitMQ教程_1 引言相关推荐

  1. [译]RabbitMQ教程C#版 - 远程过程调用(RPC)

    先决条件 本教程假定 RabbitMQ 已经安装,并运行在localhost标准端口(5672).如果你使用不同的主机.端口或证书,则需要调整连接设置. 从哪里获得帮助 如果您在阅读本教程时遇到困难, ...

  2. RabbitMQ教程C#版 - 工作队列

    先决条件 本教程假定RabbitMQ已经安装,并运行在localhost标准端口(5672).如果你使用不同的主机.端口或证书,则需要调整连接设置. 从哪里获得帮助 如果您在阅读本教程时遇到困难,可以 ...

  3. RabbitMQ教程总结

    [译]RabbitMQ教程一 主要通过Hello Word对RabbitMQ有初步认识 [译]RabbitMQ教程二 工作队列,即一个生产者对多个消费者 循环分发.消息确认.消息持久.公平分发 [译] ...

  4. Spring RabbitMQ教程

    Spring RabbitMQ教程  Spring RabbitMQ是基于Spring AMQP协议实现的消息代理. 目录[ 隐藏 ] 1 Spring RabbitMQ 1.1 Spring AMQ ...

  5. RabbitMQ教程远程过程调用RPC

    前言:在前面的教程里我们学习了工作队列,实现了将工作任务发给不同的工人,如果任务是需要在另一台计算机上运行,我们如何实现运行远程计算机上的一个函数任务并等待其返回的结果呢,这种模式通常被称为远程过程调 ...

  6. RabbitMQ教程 3.发布/订阅(Publish/Subscribe)

    搜索:Java课代表,关注公众号,及时获取更多Java干货. 3 发布/订阅(Publish/Subscribe) 在上一节中,我们创建了一个工作队列.其目的是将每个任务只分发给一个worker.本节 ...

  7. RabbitMQ教程完整(精华干货)

    RabbitMQ教程(完整!!!) 一.RabbitMQ安装 1.1 为什么使用RabbitMQ 1.降低耦合度 2.RabbitMQ速度快,微秒级别 3.学习成本低 4.支持多种语言 1.2 什么是 ...

  8. RabbitMQ 教程

    RabbitMQ 是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能.健壮 ...

  9. yum安装RabbitMQ教程

    yum安装RabbitMQ教程 1.配置 epel ,rabbitmq的下载源 yum install epel-release -y 2.下载rabbitmq yum install rabbitm ...

最新文章

  1. 金华杭州计算机学校录取分数线,2017年浙江金华各地中考录取分数线
  2. linux输入文件后怎么保存不了怎么办,关于linux:输入数据后为什么不能保存VI文件?...
  3. LeetCode Algorithm 9. 回文数
  4. 推理计算过程_初中物理电学计算题第六讲:极值问题推理和限制条件
  5. oracle服务器找不到怎么解决,简析Oracle数据库常见问题及解决方案
  6. LeetCode Longest Common Prefix
  7. 如何解决pd16虚拟机 mac 联网失败问题?pd16 m1芯片版网络初始化失败问题!
  8. 47 FI配置-财务会计-固定资产-一般评估-定义资产分类中的折旧范围
  9. Idea 集成Lombok插件
  10. [转载] python中callable_Python callable() 函数
  11. java if ( 常量==变量)_Java常量、变量和运算符
  12. 包级别的 TCP/UDP 负载均衡和NAT(Network Address Translate)
  13. Android系统权限和root权限
  14. background,background-size背景图片和盒子模型
  15. logcat工具介绍
  16. Java项目专栏之数据库建表
  17. 数据结构—栈和队列经典面试题
  18. 上古卷轴3晨风职业_上古卷轴3晨风详尽指引攻略_游戏_腾讯网
  19. 查询出每个分组中的 top n 条记录
  20. php+撮合引擎,撮合引擎开发:数据结构设计

热门文章

  1. 【Android架构GPS篇】之定位数据如何从GPS芯片到应用层
  2. YVU420PackedSemiPlanar32m4ka与YUV420PackedSemiPlanar64x32Tile2m8ka
  3. css之div内部靠右
  4. 1603错误_iPhone恢复iTunes未知错误怎么办【解决方法】
  5. linux的python2.7的paramiko_centos7 python2.7下安装paramiko模块
  6. php查看当前运行使用的是哪个php.ini
  7. springmvc04跳转
  8. spring学习--JdbcTemplate-查询返回-批量操作
  9. 由First表和Follow表得到LL1表(笔记)
  10. python语言中函数在调用前必须先定义吗_应该在python中使用函数之前进行定义?...