消息队列RabbitMQ

文章目录

    • 一 RabbitMQ介绍
      • 1 消息队列
      • 2 RabbitMQ
      • 3 基本概念
      • 4 结构图
      • 5 通讯方式
    • 二 RabbitMQ安装
      • 拉取镜像
      • 运行
      • 登录
      • 新建用户
      • 新建virtual host
    • 三 RabbitMQ用法
      • 常规套路
      • 1 新建springboot项目
      • 2 简单队列
      • 3 工作队列
      • 4 发布订阅模式
      • 5 路由模式
      • 6 主题模式
    • 四 消息的可靠性处理
      • 1 消息的持久化
      • 2 消息的确认机制
        • 第二种是消费接收确认
        • 配置:
      • 3 防止消息重复消费
    • 五 延迟队列
      • 1 TTL + 死信队列
        • TTL
          • 通过队列设置过期时间
          • 通过消息直接设置过期时间
        • 死信队列
        • 订单超时未支付例子
          • 业务基本流程
          • 队列配置
          • 消费者
          • dao层
          • 业务层
          • 控制层
      • 2 延迟插件
        • 安装插件
        • 订单超时未支付例子
          • 延迟队列配置
          • 消费者
          • 订单业务处理
          • 生成订单并测试
    • 附录
      • MQ的应用场景
        • 异步处理
        • 应用解耦
        • 流量削峰

一 RabbitMQ介绍

1 消息队列

消息队列属于进程间通信的一种方式,使用消息队列可以通过异步方式处理数据,借此可以提高系统性能。我们可以把消息当作存放数据的容器,消息的消费者可以从队列中获取数据,进行处理。常见的消息队列有:ActiveMQ,RabbitMQ,Kafka,RocketMQ等。

特性 RabbitMq RocketMQ Kafka
成熟度 成熟 比较成熟 成熟的日志领域
时效性 微秒级 毫秒级 毫秒级
社区活跃度
单机吞吐量 万级,吞吐量比RocketMQ和Kafka要低了一个数量级 10万级,RocketMQ也是可以支撑高吞吐的一种MQ 10万级别,这是kafka最大的优点,就是吞吐量高。一般配合大数据类的系统来进行实时数据计算、日志采集等场景
topic数量对吞吐量的影响 topic可以达到

你可能感兴趣的:(工作中开发总结,中间件,rabbitmq,分布式)