由于RabbitMQ未设置Queues的TTL引发的血案
文章目录
起因
前两天运维突然提醒我们RabbitMQ服务器内存和CPU使用量异常爆满。接着依赖于RabbitMQ的所有服务GG······
进过对MQ服务器的检查发现一个异常进程:
Beam.smp:
这玩意儿是Erlang的虚拟机,类似于 JVM。负责最终执行Erlang虚拟机进程的。
在RabbitMQ可理解为负责处理众多消息的线程。
在翻找了一大堆Google搜索结果之后。我发现了这篇文章 。它表明高cpu负载可能是由未被释放的未使用队列引起的。
在翻找RabbitMQ官方文档时我发现了这个策略设置选项 。
所以我的最终处理办法 设置queue的TTL
|
|
Queue将在未使用的 300分钟 后自动删除。
接下来这段时间一直安安稳稳 被安排得明明白白 。
以上完毕。
文章作者 thsheep
上次更新 2018-07-13