Go操作RabbitMQ_go调用rabbitmq,2024年最新【绝对干货
在Go语言中,操作RabbitMQ可以通过streadway/amqp
库来实现。以下是一个简单的例子,展示如何连接到RabbitMQ服务器,发送一条消息,并接收和处理这条消息。
首先,通过以下命令安装amqp
库:
go get github.com/streadway/amqp
然后,使用以下Go代码操作RabbitMQ:
package main
import (
"fmt"
"log"
"github.com/streadway/amqp"
)
func failOnError(err error, msg string) {
if err != nil {
log.Fatalf("%s: %s", msg, err)
}
}
func main() {
// 连接到RabbitMQ服务器
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
failOnError(err, "Failed to connect to RabbitMQ")
defer conn.Close()
// 创建一个channel
ch, err := conn.Channel()
failOnError(err, "Failed to open a channel")
defer ch.Close()
// 发送消息
body := "Hello RabbitMQ!"
err = ch.Publish(
"", // exchange
"task", // routing key
false, // mandatory
false, // immediate
amqp.Publishing{
ContentType: "text/plain",
Body: []byte(body),
})
failOnError(err, "Failed to publish a message")
fmt.Printf("Sent %s\n", body)
}
在这个例子中,我们首先连接到本地的RabbitMQ服务器,然后创建一个channel。之后,我们发布一条消息到名为task
的routing key。这个例子假设RabbitMQ服务器已经运行,并且有一个名为task
的queue绑定到默认的exchange上。
请确保RabbitMQ服务正在运行,并根据实际情况调整连接的用户名、密码、主机地址和端口。
评论已关闭