![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RabbitMQ
XiZhi_BUAA
这个作者很懒,什么都没留下…
展开
-
RabbitMQ本地重启和关闭
原创 2021-05-20 16:41:17 · 448 阅读 · 0 评论 -
go语言学习--RabbitMQ学习(routing交换器绑定队列)
交换器需要和队列绑定才能使用绑定队列需要一个额外的参数routing key,routing key决定了消息由交换器插入哪一个队列。err = ch.QueueBind( q.Name, // queue name "", // routing key "logs", // exchange false, nil)err = ch.QueueBind( q.Name, // queue name "black", // routing key "l原创 2021-05-17 19:52:37 · 284 阅读 · 0 评论 -
go语言学习--RabbitMQ学习(Publish/Subscribe交换器的用法)
fanout交换器的使用fanout交换器将接收到的消息发送到所有队列中。package mainimport ( "log" "os" "strings" "github.com/streadway/amqp")func failOnError(err error, msg string) { if err != nil { log.Fatalf("%s: %s", msg,原创 2021-05-17 17:31:43 · 244 阅读 · 0 评论 -
go语言学习--RabbitMQ学习(work queues)
一.消息丢失可能的原因及其解决方法1.worker未完成工作便崩溃、关闭、断连了问题来源: 工作任务消息发送给工人(worker),但是工人(worker)尚未完成全部工作任务,便死掉了。该工人接收到的,尚未完成的和尚未进行的工作任务消息,将全部丢失。解决方法: 使用RabbitMQ的消息确认机制。将auto-ack参数设置为false msgs, err := ch.Consume( q.Name, // queue原创 2021-05-17 16:36:11 · 260 阅读 · 0 评论 -
go语言学习--RabbitMQ学习(概论及hellowold实例)
一.什么是RabbitMQ?RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。二.RabbitMQ可以用来干什么?用于程序之间进行通信,可以是一个程序,也可以是多个程序。通信过程为,生产者程序将消息发送给消息队列(RabbitMQ的服务端),消费者可以从消息队列获取消息。三.RabbitMQ原理是什么?生产者:产生消息,并将消息发送给消息队列。消费者:从消息队列中获取消息。交换器:我们不是把消息直接发送到队列里面的,而是先发送到了交换器,交换器再原创 2021-05-17 14:53:29 · 286 阅读 · 0 评论