国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > JS > 正文

詳解Node.js amqplib 連接 Rabbit MQ最佳實(shí)踐

2024-05-06 16:47:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

客戶端設(shè)置connection_name

在建立連接時(shí),設(shè)置connection_name屬性,可以在RabbitMQ Managerment 中查看到連接來(lái)自那個(gè)實(shí)例。

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

隊(duì)列屬性autoDelete durable

如無(wú)必要,建議將隊(duì)列設(shè)置成自動(dòng)刪除,這個(gè)在TCP連接斷開后,隊(duì)列會(huì)自動(dòng)刪除。另外也不要使用持久化隊(duì)列。

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

connnection 和 channel管理

connnection的內(nèi)存消耗。一個(gè)connection至少要使用100kb的內(nèi)存空間,過(guò)多的connetion占用將會(huì)導(dǎo)致內(nèi)存溢出,服務(wù)崩潰等問(wèn)題。(我曾遇到過(guò)生產(chǎn)系統(tǒng),RabbitMQ連接過(guò)多,系統(tǒng)一直處于崩潰邊緣的險(xiǎn)境)

重用connection或者channel,而不要重復(fù)開關(guān),下面給出AMQP各個(gè)階段所耗費(fèi)的tcp包,重復(fù)的開關(guān),將會(huì)導(dǎo)致

  • 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)

一個(gè)進(jìn)程,一個(gè)channel, 一個(gè)connection,如果一個(gè)pod向RabbitMQ建立了多條tcp連接,你就要警惕了。

監(jiān)控進(jìn)程與RabbitMQ TCP連接數(shù),將NodeJS的運(yùn)行信息寫入influxDB,并在grafana做監(jiān)控和告警。其中tcp連接數(shù)可以使用shelljs執(zhí)行命令獲取。

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泌阳县| 临洮县| 南昌县| 嵊州市| 开平市| 江孜县| 通州区| 八宿县| 阳朔县| 岳普湖县| 天门市| 清涧县| SHOW| 沙坪坝区| 林州市| 简阳市| 西昌市| 池州市| 句容市| 宜君县| 沂源县| 鄂伦春自治旗| 佛教| 平南县| 营口市| 平远县| 苗栗县| 建始县| 禄丰县| 通州区| 焉耆| 尉犁县| 宜丰县| 合山市| 拉萨市| 黔西县| 云安县| 板桥市| 平远县| 太谷县| 苍溪县|