我们正在使用rabbitmq(3.6.6)将分析(数百万)发送到不同的分析仪。这些非常快,我们计划使用rabbit-message-plugin来安排对分析元素的监控。
我们考虑过rabbitmq-delayed-exchange-plugin,已经做了一些测试,我们需要一些澄清。
目前:
在2.0G设置高内存水印时发生了什么:
rabbitmqctl
。这持续了至少18个小时(总是最终杀死,删除磁盘上的mnesia延迟文件 - 大约100/200 MB - 并重新启动)。在3.6G设置高内存水印时发生了什么:
RabbitMQ无法再启动以下跟踪(我们假设由于延迟中的KILL消息以某种方式终止已损坏或某事
{could_not_start,rabbit,
rabbitmq-server[12889]: {{case_clause,{timeout,['rabbit_delayed_messagerabbit@rabbitNode']}},
rabbitmq-server[12889]: [{rabbit_boot_steps,'-run_step/2-lc$^1/1-1-',1,
现在我们正在问自己:对于这些信息量,我们是否有点使用兔子延迟交换插件?如果我们是,那么问题的结束,重新思考并重新启动,但如果没有,那么可能是适当的硬件和/或配置设置?
答案 0 :(得分:0)
RabbitMQ延迟交换插件未正确设计用于存储数百万条消息。
也有记录此插件的当前设计并不适合具有较高的场景 延迟消息的数量(例如,数千或数百万)。看到 72详情。
另请阅读:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/issues/72
这个插件经常被用作RabbitMQ是一个数据库。它不是。