最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年01月24日 14:21:17   作者:wangduanduan  
這篇文章主要介紹了詳解Node.js amqplib 連接 Rabbit MQ最佳實(shí)踐,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

客戶端設(shè)置connection_name

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

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

隊(duì)列屬性autoDelete durable

如無必要,建議將隊(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)存空間,過多的connetion占用將會(huì)導(dǎo)致內(nèi)存溢出,服務(wù)崩潰等問題。(我曾遇到過生產(chǎn)系統(tǒng),RabbitMQ連接過多,系統(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

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零學(xué)習(xí)node.js之模塊規(guī)范(一)

    從零學(xué)習(xí)node.js之模塊規(guī)范(一)

    Node.js是一個(gè)基于谷歌瀏覽器JavaScript執(zhí)行環(huán)境建立的一個(gè)平臺(tái),讓JavaScript可以脫離客戶端瀏覽器運(yùn)行,讓 JavaScript具有服務(wù)器語言的能力。從本文開始我們進(jìn)行學(xué)習(xí)node.js,這篇文章主要介紹的是node.js中模塊規(guī)范的相關(guān)資料,需要的朋友可以參考下。
    2017-02-02
  • NodeJS同步和異步實(shí)例代碼講述異步編程

    NodeJS同步和異步實(shí)例代碼講述異步編程

    異步編程是NodeJS最大的特點(diǎn),異步編程依托于回調(diào)來實(shí)現(xiàn),有很多特有的代碼設(shè)計(jì)模式,為了實(shí)現(xiàn)同樣的功能,使用同步方式和異步方式編寫的代碼會(huì)有很大差異,本文通過幾個(gè)同步和異步實(shí)例代碼講述異步編程的使用方法
    2024-01-01
  • 詳解基于 Node.js 的輕量級(jí)云函數(shù)功能實(shí)現(xiàn)

    詳解基于 Node.js 的輕量級(jí)云函數(shù)功能實(shí)現(xiàn)

    這篇文章主要介紹了詳解基于 Node.js 的輕量級(jí)云函數(shù)功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化

    輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(3):代碼模塊化,本文是對(duì)第一節(jié)的例子作了封裝,需要的朋友可以參考下
    2014-12-12
  • 深入理解Node.js中的進(jìn)程管理

    深入理解Node.js中的進(jìn)程管理

    這篇文章主要介紹了Node.js中進(jìn)程管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • express啟用https使用小記

    express啟用https使用小記

    這篇文章主要介紹了express啟用https使用小記,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 一文詳解NPM如何換源

    一文詳解NPM如何換源

    在每一次的實(shí)際開發(fā)過程中我們都會(huì)下載相關(guān)的依賴包,最官方的是 npm,但是該服務(wù)器對(duì)于國內(nèi)開發(fā)者來說,下載起來是比較慢的,所以我們需要換源,下面這篇文章主要給大家介紹了關(guān)于NPM如何換源的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 詳解puppeteer使用代理

    詳解puppeteer使用代理

    這篇文章主要介紹了詳解puppeteer使用代理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • node.js 開發(fā)指南 – Node.js 連接 MySQL 并進(jìn)行數(shù)據(jù)庫操作

    node.js 開發(fā)指南 – Node.js 連接 MySQL 并進(jìn)行數(shù)據(jù)庫操作

    通常在NodeJS開發(fā)中我們經(jīng)常涉及到操作數(shù)據(jù)庫,尤其是 MySQL ,作為應(yīng)用最為廣泛的開源數(shù)據(jù)庫則成為我們的首選,本篇就來介紹下如何通過NodeJS來操作 MySQL 數(shù)據(jù)庫。
    2014-07-07
  • 淺談Node框架接入ELK實(shí)踐總結(jié)

    淺談Node框架接入ELK實(shí)踐總結(jié)

    這篇文章主要介紹了淺談Node框架接入ELK實(shí)踐總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02

最新評(píng)論

来宾市| 南安市| 登封市| 合肥市| 翼城县| 绥滨县| 嘉定区| 调兵山市| 顺昌县| 石门县| 云梦县| 德安县| 揭阳市| 邹城市| 邵东县| 若羌县| 西林县| 宾阳县| 诸暨市| 屏东市| 盐亭县| 龙江县| 工布江达县| 咸宁市| 岳西县| 交口县| 陆河县| 金寨县| 华宁县| 濉溪县| 自治县| 怀来县| 柘城县| 金乡县| 芒康县| 舒城县| 徐闻县| 平定县| 桓台县| 习水县| 台湾省|