rabbitMQ的入门教程

欢迎使用rabbitMQ消息队列

以下全是自己的理解写出,大概看了二十分钟项目,原理跟kafka消息中间件类似其实每个消息中间件的原理都是很类似的,有兴趣可以看看kafka消息队列。

  • 安装rabbit
  • 简单的生产者消费者模式

安装rabbit

rabbit的安装就不说了,安装好之后它将是以一个服务的方式存在,不然也不叫消息中间件了,直接上教程
https://www.cnblogs.com/ericli-ericli/p/5902270.html

简单的生产者消费者模式

rabbit大概原理:生产者—>exchange–>消费者(生产者往队列里面丢消息,消费者从队列里面拿东西,这其中有个叫交换器的东西(exchange),生成这绑定好交换器,消费者把队列绑定到该交换器上,那么他们就成了点对点的消息生成和消费模型了

一、我们先来熟悉几个名词:1)channel 信道是生产消费者与rabbit通信的渠道。
2)exchange交换机的作用就是类似路由器,routing key 就是路由键,服务器会根据路由键将消息从交换器路由到队列上去找。
3)direct:完全匹配,根据routing key去匹配队列
4)fanout:可以把消息散布到多个queue上去
5)topic:模糊匹配,多个交换器可以路由消息到同一个队列。根据模糊匹配,比如一个队列的routing key 为*key,就会找routing key为key结尾的路由键再找到绑定的queue
6)AmqpTemplate:Spring AMQP提供了一个发送和接收消息的操作模板类AmqpTemplate。 AmqpTemplate它定义包含了发送和接收消息等的一些基本的操作功能。RabbitTemplate是AmqpTemplate的一个实现。
这里说下交换器exchange的三个模式:direct和topic都需要用到routing key 而fanout则不需要。

二、下面生产者的demo代码
rabbitMQ的入门教程_第1张图片
rabbitMQ的入门教程_第2张图片
下面是消费者的demo
客户端可以指定多个rabbit服务,相当于从可以指定特定服务上获取queue的消息
rabbitMQ的入门教程_第3张图片
rabbitMQ的入门教程_第4张图片
rabbitMQ的入门教程_第5张图片

你可能感兴趣的:(rabbitMQ,消息队列)