我有一个将消息发送到RabbitMQ集群的应用程序。如果该群集由于某种原因而发生故障,那些事件将使用Bunny ruby gem进行缓冲。当该群集上升时,所有缓冲的消息立即发送,导致发布到RabbitMQ的一侧的CPU负载大量增加。
当群集重新启动时,是否有一些简单的方法可以对每秒发送的邮件进行速率限制,因此它们只会以每秒100封邮件的速度发送出去?
我正在修改的代码是logstash AMQP输出插件:
https://github.com/logstash/logstash/blob/master/lib/logstash/outputs/amqp.rb