摘要:池會(huì)對(duì)它之內(nèi)的服務(wù)器做負(fù)載均衡。你看,真的可以負(fù)載均衡一會(huì)兒,一會(huì)兒。
node.js 做服務(wù)器?
node.js當(dāng)仁不讓,我有赤兔馬(異步),手中方天畫戟(事件IO)。
一種too simple ,sometimes naive的感覺油然而生。
久經(jīng)考驗(yàn)的nginx 前置頂住壓力,后面多個(gè)node服務(wù)器完成業(yè)務(wù)支撐,這樣的做法是放心的,是走正道的。
這里要做一個(gè)實(shí)驗(yàn):
1. 一個(gè)nginx作為前臺(tái)的服務(wù)器 2. 全部請(qǐng)求,經(jīng)過負(fù)載均衡,盡可能均衡的分步到后面的2臺(tái)node服務(wù)器準(zhǔn)備node
首先啟動(dòng)兩臺(tái)node,分別監(jiān)聽3000,3001端口。為了區(qū)分,helloworld會(huì)帶一個(gè)端口返回,通知客戶端,以便區(qū)別是誰在提供服務(wù)。
node.js server$cat 1.js require("http").createServer(function (request, response) { response.end("hello world "+process.argv[2]); }).listen(process.argv[2]); $node 1.js 3000 $node 1.js 3001驗(yàn)證node 服務(wù)器啟動(dòng)
λ curl localhost:3000 hello world 3000 λ curl localhost:3001 hello world 3001準(zhǔn)備nginx 服務(wù)器的配置。
要點(diǎn)是通過upstream 指令把兩個(gè)node服務(wù)器打成一個(gè)服務(wù)器池。然后通過location指令,要求全部根目錄請(qǐng)求轉(zhuǎn)發(fā)到這個(gè)池內(nèi)。池會(huì)對(duì)它之內(nèi)的服務(wù)器做負(fù)載均衡。
nginx confworker_processes 1; events { worker_connections 1024; } http { upstream node_server_pool { server localhost:3001 max_fails=1; server localhost:3000 max_fails=1; } server{ listen 80; server_name localhost; location / { proxy_pass http://node_server_pool; } } }模擬客戶端訪問
我用curl多次訪問nginx服務(wù)器,可以通過返回的字符串知道服務(wù)器。你看,真的可以負(fù)載均衡:一會(huì)兒helloworld 3000,一會(huì)兒helloworld 3001。
λ curl localhost hello world 3000 λ curl localhost hello world 3001 λ curl localhost hello world 3001 λ curl localhost hello world 3000
你看,ngnix是公平的。哪怕就一個(gè)客戶的多次訪問都會(huì)換著服務(wù)器來。
參考node.js成也異步,敗也異步,評(píng)node.js的異步特性 | 江淼的Blog - http://www.jiangmiao.org/blog/2491.html
Node.js + Nginx - What now? - Stack Overflow - http://stackoverflow.com/questions/5009324/node-js-nginx-what-now
為高負(fù)載網(wǎng)絡(luò)優(yōu)化 Nginx 和 Node.js - 技術(shù)翻譯 - 開源中國(guó)社區(qū) - http://www.oschina.net/translate/optimising-nginx-node-js-and-networki...
讓node.js充分利用多核服務(wù)器的性能,運(yùn)用nginx做反向代理和負(fù)載均衡 - snoopyxdy的日志 - 網(wǎng)易博客 - http://snoopyxdy.blog.163.com/blog/static/60117440201172954648952/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/39187.html
摘要:并沒有因?yàn)椴灰恢露煌褂眠B接,確實(shí)存儲(chǔ)了一個(gè),如下工程目錄實(shí)際操縱過程中遇到一個(gè)問題啟動(dòng)工程的時(shí)候報(bào)錯(cuò)解決方法對(duì)于依賴,增加了一個(gè),且版本為。啟動(dòng),未報(bào)錯(cuò),問題解決。后續(xù)有時(shí)間再研究。 1.環(huán)境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一個(gè)SpringBoot項(xiàng)目,參考如下鏈接:h...
摘要:并沒有因?yàn)椴灰恢露煌褂眠B接,確實(shí)存儲(chǔ)了一個(gè),如下工程目錄實(shí)際操縱過程中遇到一個(gè)問題啟動(dòng)工程的時(shí)候報(bào)錯(cuò)解決方法對(duì)于依賴,增加了一個(gè),且版本為。啟動(dòng),未報(bào)錯(cuò),問題解決。后續(xù)有時(shí)間再研究。 1.環(huán)境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一個(gè)SpringBoot項(xiàng)目,參考如下鏈接:h...
摘要:概要什么是實(shí)戰(zhàn)整合實(shí)現(xiàn)負(fù)載均衡是什么是一個(gè)客戶端負(fù)載均衡的組件什么是負(fù)載均衡負(fù)載均衡就是分發(fā)請(qǐng)求流量到不同的服務(wù)器目前的實(shí)現(xiàn)有軟件和硬件負(fù)載均衡分為兩種服務(wù)器端負(fù)載均衡如上圖所示服務(wù)器端負(fù)載均衡是對(duì)客戶透明的用戶請(qǐng)求到服務(wù)器真正的服務(wù)器是由 概要 什么是Spring Cloud Netflix Ribbon? 實(shí)戰(zhàn):整合Ribbon實(shí)現(xiàn)負(fù)載均衡 Spring Cloud Netfl...
閱讀 3539·2021-11-18 13:22
閱讀 2556·2021-09-23 11:53
閱讀 725·2019-08-30 13:17
閱讀 1346·2019-08-30 13:12
閱讀 895·2019-08-29 15:43
閱讀 1099·2019-08-29 12:53
閱讀 2828·2019-08-26 18:27
閱讀 1499·2019-08-26 11:52