我有生产者通过消费者消费这些消息的小屋以扇出方式产生消息。在这里,我有一个 RabbitMq 服务器,其中运行多个 hutch 实例。
在本地/测试环境中一切正常,但是小屋实例在生产中崩溃(每小时)引发错误
/home/deploy/.gem/ruby/2.2.2/gems/bunny-1.7.0/lib/bunny/concurrent/continuation_queue.rb:25:in `pop': Connection-level error: UNEXPECTED_FRAME - expected content body, got non content body frame instead (Bunny::UnexpectedFrame)
from /home/deploy/.gem/ruby/2.2.2/gems/bunny-1.7.0/lib/bunny/concurrent/continuation_queue.rb:25:in `block in poll'
在搜索了关于 stackoverflow 和其他地方的大量帖子之后,我开始明白这个错误与竞争条件有关。
但我没有找到任何针对hutch实施的解决方案。
如果有人在这里帮助我,我会很高兴的。
先决条件:
- RabbitMQ 3.3.4
- 厨具 (0.15.0)
- 兔子 (>= 1.7.0)
- 胡萝卜顶部 (~> 0.0.7)
- multi_json (~> 1.5)