1. go get安装amqp
go get github.com/streadway/amqp
2. 创建连接RabbitMQ
// 1.
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
defer conn.Close()
3. 创建一个通道,队列和消息发布和接受都从这里操作
ch, err := conn.Channel()
defer ch.Close()
4. 声明消息要发送到的队列
q, err := ch.QueueDeclare(
"hello", // 队列名称
false, // 声明为持久队列
false, // 使用完毕自动删除队列
false, // exclusive
false, // no-wait
nil, // arguments
)
5. 发布消息到队列中
rand.Seed(time.Now().UnixNano())
// 4.将消息发布到声明的队列
for {
count := rand.Intn(5)
body := strconv.Itoa(count)
err = ch.Publish(
"", // exchange
q.Name, // routing key
false, // mandatory
false, // immediate
amqp.Publishing{
DeliveryMode: amqp.Persistent,
ContentType: "text/plain",
Body: []byte(body),
})
time.Sleep(500 * time.Millisecond)
}
6. 可通过rabbitmq自带UI或命令行查看消息发布情况