参考文档:https://www.rabbitmq.com/tutorials/tutorial-one-go.html
rabbitmq是一个消息中间件,用来在生产者和消费者(接收者)之间接受消息,就像官方文档比喻的一样,rabbitmq就是一个邮局,邮递员;
生产者:负责生产消息的进程;
队 列: 生产者将消息发送到队列,消费者从队列接收消息,队列的大小受限于磁盘和内存的大小(消息代理,broker的作用);
消费者:接受消息的进程;
生产者,消息代理,消费者可以不在同一个主机上,实际上,他们通常是不在一个主机上的。当然生产者和消费者可以是同一个程序。
使用 go rabbitmq client
下面使用go写一个简单的程序,包括一个生产者和消费者
RabbitMQ使用多种协议。 本文使用AMQP 0-9-1,这是一种开源的通用消息传递协议
首先安装 amqp: go get github.com/streadway/amqp
package main
import (
"fmt"
"github.com/streadway/amqp"
)
//调用amqp函数返回的异常处理函数
func failOnError(err error, msg string) {
if err != nil {
fmt.Fatalf("%s: %s&#