概述
消费者
package main import ( "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, // durable false, // delete when unused false, // exclusive false, // no-wait nil, // arguments ) failOnError(err, "Failed to declare a queue") msgs, err := ch.Consume( q.Name, // queue "toutiao", // consumer true, // auto-ack,true消费了就消失 false, // exclusive false, // no-local false, // no-wait nil, // 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 main import ( "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", // name false, // durable false, // delete when unused false, // exclusive false, // no-wait nil, // arguments ) failOnError(err, "Failed to declare a queue") body := "Hello World!" //发送的消息 err = ch.Publish( "", // exchange q.Name, // routing key false, // mandatory false, // immediate amqp.Publishing{ ContentType: "text/plain", Body: []byte(body), }) log.Printf(" [x] Sent %s", body) failOnError(err, "Failed to publish a message") }
以上就是Golang rabbitMQ生产者消费者实现示例解析的详细内容,更多关于Golang rabbitMQ生产者消费者的资料请关注靠谱客其它相关文章!
最后
以上就是害羞斑马为你收集整理的Golang rabbitMQ生产者消费者实现示例的全部内容,希望文章能够帮你解决Golang rabbitMQ生产者消费者实现示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复