rabbitmq辣眼睛的忙等

語言: CN / TW / HK

背景

用golang做了一個分散式結構的系統, 訊息伺服器用了rabbitmq。

整體是基於machinery+rabbitmq形式的分散式任務系統

在做壓力測試時,發現rabbitmq的cpu使用率飆升

分析

  • 官方給出的解釋

scheduler採用了忙等,來提高訊息傳遞效能

https://www.rabbitmq.com/runtime.html#cpu

其中也講了一些方法來降低cpu使用率

  • 官方建議
  1. rabbtimq最好是裝在單獨的伺服器,不與其它應用共用。

  2. 也介紹了修改cpu使用個數的方法

  • 對我而言

通訊關cpu什麼事,導致cpu飆升,就是不應該

  • 站在傳統語言java/python/...等語言角度

忙等好像也沒啥

  • 站在go的角度

忙等是上世紀的技術了。

看起來太辣眼睛。

  • 從我的應用場景上來看

系統規模可大可小, 而且業務高峰時間很短

在系統規模小時,不大願意單獨給rabbitmq一臺伺服器

在業務高峰的這幾分鐘,正好會影響其它系統

  • 是否有其它選擇

nats

佛說大乘無量壽莊嚴清淨平等覺經pdf 淨土大經科注2014-doc