今天小编给大家分享一下golang RabbitMQ生产者和消费者怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
今天小编给大家分享一下golang RabbitMQ生产者和消费者怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
package mainimport ("fmt""GitHub.com/streadway/aMQp")func failOnError(err error, msg string) {if err != nil {fmt.Println("%s: %s", msg, err)}}// 只能在安装 rabbitmq 的服务器上操作func main() {conn, err := amqp.Dial("amqp://mquser:123456@127.0.0.1/toutiao")failOnError(err, "Failed to connect to RabbitMQ")defer conn.Close()ch, err := conn.Channel()failOnError(err, "Failed to open a channel")defer ch.Close()q, err := ch.QueueDeclare("toutiao.WEB.test", // 队列名字false, // durablefalse, // delete when unusedfalse, // exclusivefalse, // no-waitnil, // arguments)failOnError(err, "Failed to declare a queue")msgs, err := ch.Consume(q.Name, // queue"toutiao", // consumertrue, // auto-ack,true消费了就消失false, // exclusivefalse, // no-localfalse, // no-waitnil, // args)failOnError(err, "Failed to reGISter a consumer")forever := make(chan bool)Go func() {for d := range msgs {fmt.Println(fmt.Sprintf("返回的消息:%s",d.Body))}}()fmt.Println("[*] Waiting for messages. To exit press CTRL+C")<-forever}
body:消息体
package mainimport ("github.com/streadway/amqp""log")func failOnError(err error, msg string) {if err != nil {log.Fatalf("%s: %s", msg, err)}}// 只能在安装 rabbitmq 的服务器上操作func main() {conn, err := amqp.Dial("amqp://mquser:123456@127.0.0.1/toutiao")failOnError(err, "Failed to connect to RabbitMQ")defer conn.Close()ch, err := conn.Channel()failOnError(err, "Failed to open a channel")defer ch.Close()q, err := ch.QueueDeclare("toutiao.web.test", // namefalse, // durablefalse, // delete when unusedfalse, // exclusivefalse, // no-waitnil, // arguments)failOnError(err, "Failed to declare a queue")body := "Hello World!" //发送的消息err = ch.Publish("", // exchangeq.Name, // routing keyfalse, // mandatoryfalse, // immediateamqp.Publishing{ContentType: "text/plain",Body: []byte(body),})log.Printf(" [x] Sent %s", body)failOnError(err, "Failed to publish a message")}
以上就是“Golang rabbitMQ生产者和消费者怎么实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网GO频道。
--结束END--
本文标题: Golang rabbitMQ生产者和消费者怎么实现
本文链接: https://www.lsjlt.com/news/327336.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0