package main
import "github.com/streadway/amqp"
/**
这篇主要对参数进行介绍
RabbitMQ 就是 amqp 协议的Erlang的实现。
AMQP的模型架构的主要角色,生产者、消费者、交换器、队列。
*/
func main() {
// connection
//生产者与RMQ Server之间建立的TCP连接。
connection, err := amqp.Dial("amqp://guest:guest@localhost:5672")
if err != nil {
panic(err)
}
// channel
//信道,一条连接可包含多条信道,不同信道之间通信互不干扰。
//考虑下多线程应用场景,每个线程对应一条信道,而不是对应一条连接,这样可以提高性能。
channel, err := connection.Channel()
if err != nil {
panic(err)
}
//创建一个交换器
//交换器(exchange)的最大作用一方面在于接收生产者的信息,另一方面在于发送消息到不同的队列
//RabbitMQ消息模型的核心理念:发布者是将消息直接发送给交换机,由交换机来决定消息是发送到哪个队列,
//-或者是忽略消息。发布者(producer)只需要把消息发送给一个交换机(exchange)。
//-交换机非常简单,它一边从发布者方接收消息,一边把消息推送到队列。
/**
交换机类型
fanout(广播模式) 生产的每一条消息,由所有消费者进行处理操作 (把消息投递到所有与此交换器绑定的队列中)
direct 把消息投递到 BindingKey 和 RoutingKey 完全匹配的队列中
topic 规则匹配,BindingKey中存在两种特殊字符
*匹配零个或
Rabbit MQ 使用(一)
最新推荐文章于 2022-09-19 16:26:33 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)