随笔分类 - RabbitMQ
摘要:使用go的第三方包:github.com/rabbitmq/amqp091-go 出现报错:get mq channel error {"error": "Exception (504) Reason: channel id space exhausted"} ctx := context.Back
阅读全文
摘要:在消息队列系统中,生产者负责发送消息到消息队列中,而消费者负责从消息队列中接收并处理消息。在生产者发布消息时,为了确保消息被成功发送到消息队列,可以使用生产者发布确认模式。该模式允许生产者在消息被确认(即成功接收)或者未确认(发送失败)时得到通知,从而确保消息的可靠性。 主要步骤如下: 连接到Rab
阅读全文
摘要:1.场景描述消息中间件是分布式系统常用的组件,无论是异步化、解耦、削峰等都有广泛的应用价值。我们通常会认为,消息中间件是一个可靠的组件——这里所谓的可靠是指,只要我把消息成功投递到了消息中间件,消息就不会丢失,即消息肯定会至少保证消息能被消费者成功消费一次,这是消息中间件最基本的特性之一,也就是我们
阅读全文
摘要:可能原因: 1)没有配置该用户的访问权限,可以通过rabbitmqctl add_vhost admin来添加,并赋予权限: rabbitmqctl set_permissions -p 用户名 admin "." "." ".*" 代码在连接的时候,必须制定对应的vhost,否则是没有访问权限:c
阅读全文
摘要:1、发送端 步骤分解如下:(1)建立连接conn, err := amqp.Dial("amqp://admin:admin@dev.com:5672/") (2)打开channel这里的channel 是AMQP 里的概念,可以理解为 多路复用的一个tcp长连接。 (3)声明一个队列q, err
阅读全文
摘要:AMQP 简介 从 AMQP 协议可以看出,Queue、Exchange 和 Binding 构成了 AMQP 协议的核心 Producer:消息生产者,即投递消息的程序。 Broker:消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Binding:绑定
阅读全文