91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Node.js amqplib 連接 Rabbit MQ最佳實踐

發布時間:2020-10-10 14:28:43 來源:腳本之家 閱讀:842 作者:wangduanduan 欄目:web開發

客戶端設置connection_name

在建立連接時,設置connection_name屬性,可以在RabbitMQ Managerment 中查看到連接來自那個實例。

amqp.connect(rabbitMqAddress, {
  clientProperties: {
   connection_name: 'your host name'
  }
})

隊列屬性autoDelete durable

如無必要,建議將隊列設置成自動刪除,這個在TCP連接斷開后,隊列會自動刪除。另外也不要使用持久化隊列。

channel.assertQueue(queueName, {
  autoDelete: true,
  durable: false
})

connnection 和 channel管理

connnection的內存消耗。一個connection至少要使用100kb的內存空間,過多的connetion占用將會導致內存溢出,服務崩潰等問題。(我曾遇到過生產系統,RabbitMQ連接過多,系統一直處于崩潰邊緣的險境)

重用connection或者channel,而不要重復開關,下面給出AMQP各個階段所耗費的tcp包,重復的開關,將會導致

  • AMQP connections: 7 TCP packages
  • AMQP channel: 2 TCP packages
  • AMQP publish: 1 TCP package (more for larger messages)
  • AMQP close channel: 2 TCP packages
  • AMQP close connection: 2 TCP packages
Total 14-19 packages (+ Acks)

一個進程,一個channel, 一個connection,如果一個pod向RabbitMQ建立了多條tcp連接,你就要警惕了。

監控進程與RabbitMQ TCP連接數,將NodeJS的運行信息寫入influxDB,并在grafana做監控和告警。其中tcp連接數可以使用shelljs執行命令獲取。

function getRabbitMqConnnectionCount (params) {
 shell.exec(`netstat -nt | grep ${rabbitmqHost} | wc -l`, (code, stdout, stderr) => {
  try {
   if (code === 0) {
    rabbitMqConnnectionCount = parseInt(stdout) || 0
   }
  } catch (error) {
   log.error(error.message)
  }
 })
}

參考

https://www.cloudamqp.com/blog/2017-12-29-part1-rabbitmq-best-practice.html
https://www.cloudamqp.com/blog/2018-01-08-part2-rabbitmq-best-practice-for-high-performance.html
https://www.cloudamqp.com/blog/2018-01-19-part4-rabbitmq-13-common-errors.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

SHOW| 嵩明县| 平阴县| 罗山县| 随州市| 上高县| 鄂尔多斯市| 沈丘县| 时尚| 广州市| 富阳市| 肃宁县| 富宁县| 兴化市| 理塘县| 麻阳| 正阳县| 阿勒泰市| 东丰县| 邵武市| 鄢陵县| 来凤县| 台前县| 屯昌县| 肥乡县| 延边| 包头市| 大化| 南江县| 永川市| 南阳市| 天气| 富宁县| 黄梅县| 双鸭山市| 扬中市| 澄江县| 新密市| 盘锦市| 阿坝县| 海淀区|