消息中间件之RabbitMQ篇| 未完待续

本文介绍了消息中间件RabbitMQ的基本概念,包括其在流量削峰、应用解耦等场景的应用。详细讲解了RabbitMQ的简单模式,并分享了在Ubuntu系统上安装RabbitMQ的复杂过程,包括官方教程和Docker安装方案,强调了Docker安装的便利性。
摘要由CSDN通过智能技术生成


RabbitMQ概述

为什么使用MQ

  • 流量削峰(削峰就是排队)
  • 应用解耦
  • 异步处理
  • 跨语言开发
  • 分布式系统
    ……

RabbitMQ

RabbitMQ的模式

  • 简单模式
  • 工作模式
  • 发布订阅模式
  • 路由模式
  • 话题模式
  • RPC模式
  • 发布确认模式

RabbitMQ是基于AMQP协议,通过使用通用协议就可以做到在不同语言之间传递数据。

AMQP协议

  • Server 又称broker,接受客户端连接,实现AMQP实体服务
  • Connection 连接和具体broker网络连接
  • Channel 网络信道,几乎所有操作都在channel中进行,channel是消息读写的通道,客户端可以建立多个channel,每个channel表示一个会话任务。
  • message 消息,服务器和应用程序之间传递的数据
  • Virtual host 虚拟主机,用于逻辑隔离,最上层消息的路由。
  • Exchange 交换机,接收消息,根据路由键转发消息到绑定的队列上。
  • Banding 交换机和消息队列之间的虚拟连接
  • Routing Key 一个路由规则,虚拟机根据他来确定如何路由一条消息
  • Queue 消息队列

简单模式

RabbitMQ是一个消息代理,接受和转发消息,可以将其视为邮局。
RabbitMQ不处理消息,只是接受、存储和转发二进制数据块——消息。

  • 生产无非就是发送,发送消息的程序是生产者
  • 队列是位于RabbitMQ中的邮箱的名称,队列本质上是一个大的消息缓冲器。许多生产者可以将消息发送到一个队列,许多消费者可以尝试从一个队列接受数据。
  • 消费者主要是等待接收消息。

简单模式测试案例

<dependencies>
        <!-- rabbitmq客户端依赖 -->
        <dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>5.9.0</version>
        </dependency>
        <!-- 操作文件流依赖 -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.30</version>
        </dependency
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值