RabbitMq
Simple Simple
biubiubiu...
展开
-
RabbitMQ-fanout广播模式
RabbitMQ发送模式之fanout fanout: 所有bind到此exchange的queue都可以接收消息(纯广播,绑定到RabbitMQ的接受者都能收到消息); 消息的接受者需要创建一个队列,绑定到该fanout交换机上,监听来自发送端的消息广播。广播是实时的,prod...原创 2019-03-28 18:25:15 · 6539 阅读 · 1 评论 -
C++ RabbitMQ封装
C++ RabbitMQ封装RabbitMq的源码可以在官网下载https://www.rabbitmq.com/,需要使用cmake转为vs工程。由于源码不大,此处选择编译librabbitmq,生成librabbitmq.4.lib静态库,直接链接到自己的程序中。附上vs版的源码,我使用的是vs2017,低版本的可以自行百度修改vs版本。首先封装CQueue类,包含队列的持久化,自动创建...原创 2019-03-28 18:43:00 · 11531 阅读 · 4 评论 -
RabbitMQ-direct直通模式
RabbitMQ-direct直通模式 direct: 把Exchange上的消息发送到匹配routing key的队列中。 消费者队列绑定关键字到交换机上,发送者将数据根据关键字发送到交换机上,交换机根据关键字去遍历绑定到它上面的队列,将数据发送至指定关键字的队列。&nbs...原创 2019-05-02 15:10:46 · 6260 阅读 · 0 评论 -
RabbitMQ-topic主题模式
RabbitMQ-topic主题模式 Topic: 所有符合routingKey(此时可以是一个表达式)的routingKey所绑定的队列可以接收消息; 发送到topic类型交换机的消息的routing_key不能随便设置–它必须是多个单词组成,用点分割。单词可以是任意的,但它们...原创 2019-05-05 19:48:34 · 12139 阅读 · 0 评论 -
RabbitMQ-operation queue.declare caused a channel exception precondition_failed错误
RabbitMQ-operation queue.declare caused a channel exception precondition_failed错误今天早上有个同事在RabbitMQ服务器上做测试时,连续publish message两次都导致RabbitMQ服务挂掉,进程直接中止。但是按照他的描述我发布同样的消息,却是正常的。第一反应是查看日志,进入mq的日志目录,默认位置为:...原创 2019-05-07 22:44:51 · 13451 阅读 · 0 评论 -
RabbitMQ-死信队列DLX
RabbitMQ-死信队列DLX一,死信队列二,消息变成死信的几种情况三,死信队列的设置1,使用策略配置2,使用可选队列参数配置3,通过web管理界面设置死信队列四,死信队列的优点一,死信队列 利用DLX, 当消息在一个队列中变成死信(dead message)之后, 它能被重新publish到另一个Exchange, 这个Exchan...原创 2019-05-07 23:23:40 · 6439 阅读 · 1 评论 -
amqp_basic_publish报错AMQP_STATUS_TABLE_TOO_BIG
amqp_basic_publish报错AMQP_STATUS_TABLE_TOO_BIG今天在做业务的时候,碰到一个奇怪的现象,发送同样属性和内容的消息,到相同的交换机上,debug模式下能发送成功,release模式下发送失败,并且报错AMQP_STATUS_TABLE_TOO_BIG,查看rabbitmq源码解释这个报错如下:简单解释就是:由于消息体太小,amqp_table_t不能被...原创 2019-06-20 20:59:09 · 5959 阅读 · 0 评论