RabbitMQ的安装及使用(linux版本)

消息中间件RabbitMQ

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量,削峰等问题实现高性能,高可用,可伸缩和中一致性[架构] 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ

主要概念:
在这里插入图片描述
RabbitMQ server:
也叫borker server,它是一种传输服务. 它的角色就是维护一条从ProducerConsumer的路线.保证数据能够按照指定的方式进行传输

1. Producer:消息生产者,如图A,B,C数据的发送方法,消息消费者订阅队列,Rabbit MQ 服务器,然后将消息投递到Exchange

2. Consumer:消息消费者:如图1,2,3数据的接收方法,消息消费者订阅队列,RabbitMQ将Queue中的消息发送到消息消费者.

3. Exchange:生产者将消息发送到Exchange(交换器),由Exchange将消息路由到一个或多个Queue中(或者丢弃). Exchange并不存储消息.RabbitMQ中的Exchange有dicect.fanout,topic,headers四种类型,每种类型对应不同的路由规则

4.Queue(队列):Queue是RabbitMQ的内部对象,用于存储信息,消息消费者就是通过订阅队列来获取信息的,RabbitMQ中的信息都只能存储在Queue中,生产者生产者消息并终投递到Queue中,消息可以从Queue中获取消息并消费,多个消费者可以订阅同一个Queue,这时Queue中的消息会被平均分摊给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理

5.RoutingKey:生产者在将消息发送给Exchange的时候,一般会指定一个RoutingKey,来指定这个消息的路由规则,而这个RoutingKey需要与Exchange Type及Binding Key联合使用才能终生效.在Exchange Type与Binding Key固定的情况下(在正常使用是一般这些内容都是固定配置好的,)我们的生产者就可以在发送消息给Exchange时,通过指定Routing key来决定消息流向哪里,RabbitMQ为Routing key设定的长度限制为225 bytes

6. Connection(连接):Producer和Consumer都是通过TCP连接到RabbitMQ Server的.以后我们可以看到,程序的起始处就是建立这个TCP连接

7. Channels:(信道):他建立在上述的TCP连接中.数据流动都是在Channel中进行的.也就是说,一般情况是程序起始建立TCP连接,第二步就是建立这个Channel

8. VirtualHost:权限控制的基本单位,一个VirtualHost里面有若干个Exchange个MessageQueue,以及指定被哪些user使用

RabbitMQ安装(必须在docker环境下安装)

安装命令:

docker run -di --name=rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management

安装完成后查看容器:

docker ps

浏览器访问:
http://192.168.195.136:15672/#/ (此处的IP地址是虚拟机IP)

直接模式(Direct):
我们需要将消息发给唯一一个节点时使用这种模式,这是简单的一种形式任何发送到Direct Exchange的消息都会被转发到RouteKey中指定的Queue。
在这里插入图片描述
1.一般情况可以使用rabbitMQ自带的Exchange:”"(该Exchange的名字为空字符串,下 文称其为default Exchange)。

2.这种模式下不需要将Exchange进行任何绑定(binding)操作

3.消息传递时需要一个“RouteKey”,可以简单的理解为要发送到的队列名字。

4.如果vhost中不存在RouteKey中指定的队列名,则该消息会被抛弃。

引入amqp起步依赖 ,pom.xml如下

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
# application.yml配置文件中添加
rabbitmq:
  host: 安装rabbitmq的虚拟机IP

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小郑要做干饭人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值