摘要:池會對它之內(nèi)的服務(wù)器做負(fù)載均衡。你看,真的可以負(fù)載均衡一會兒,一會兒。
node.js 做服務(wù)器?
node.js當(dāng)仁不讓,我有赤兔馬(異步),手中方天畫戟(事件IO)。
一種too simple ,sometimes naive的感覺油然而生。
久經(jīng)考驗的nginx 前置頂住壓力,后面多個node服務(wù)器完成業(yè)務(wù)支撐,這樣的做法是放心的,是走正道的。
這里要做一個實驗:
1. 一個nginx作為前臺的服務(wù)器 2. 全部請求,經(jīng)過負(fù)載均衡,盡可能均衡的分步到后面的2臺node服務(wù)器準(zhǔn)備node
首先啟動兩臺node,分別監(jiān)聽3000,3001端口。為了區(qū)分,helloworld會帶一個端口返回,通知客戶端,以便區(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驗證node 服務(wù)器啟動
λ curl localhost:3000 hello world 3000 λ curl localhost:3001 hello world 3001準(zhǔn)備nginx 服務(wù)器的配置。
要點是通過upstream 指令把兩個node服務(wù)器打成一個服務(wù)器池。然后通過location指令,要求全部根目錄請求轉(zhuǎn)發(fā)到這個池內(nèi)。池會對它之內(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ù)載均衡:一會兒helloworld 3000,一會兒helloworld 3001。
λ curl localhost hello world 3000 λ curl localhost hello world 3001 λ curl localhost hello world 3001 λ curl localhost hello world 3000
你看,ngnix是公平的。哪怕就一個客戶的多次訪問都會換著服務(wù)器來。
參考node.js成也異步,敗也異步,評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ù)翻譯 - 開源中國社區(qū) - http://www.oschina.net/translate/optimising-nginx-node-js-and-networki...
讓node.js充分利用多核服務(wù)器的性能,運用nginx做反向代理和負(fù)載均衡 - snoopyxdy的日志 - 網(wǎng)易博客 - http://snoopyxdy.blog.163.com/blog/static/60117440201172954648952/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39187.html
摘要:并沒有因為不一致而不同使用連接,確實存儲了一個,如下工程目錄實際操縱過程中遇到一個問題啟動工程的時候報錯解決方法對于依賴,增加了一個,且版本為。啟動,未報錯,問題解決。后續(xù)有時間再研究。 1.環(huán)境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一個SpringBoot項目,參考如下鏈接:h...
摘要:并沒有因為不一致而不同使用連接,確實存儲了一個,如下工程目錄實際操縱過程中遇到一個問題啟動工程的時候報錯解決方法對于依賴,增加了一個,且版本為。啟動,未報錯,問題解決。后續(xù)有時間再研究。 1.環(huán)境信息nginx-1.11.10redis-latest包(redis windows版本)springboot1.5.1.RELEASE 2.新建一個SpringBoot項目,參考如下鏈接:h...
摘要:概要什么是實戰(zhàn)整合實現(xiàn)負(fù)載均衡是什么是一個客戶端負(fù)載均衡的組件什么是負(fù)載均衡負(fù)載均衡就是分發(fā)請求流量到不同的服務(wù)器目前的實現(xiàn)有軟件和硬件負(fù)載均衡分為兩種服務(wù)器端負(fù)載均衡如上圖所示服務(wù)器端負(fù)載均衡是對客戶透明的用戶請求到服務(wù)器真正的服務(wù)器是由 概要 什么是Spring Cloud Netflix Ribbon? 實戰(zhàn):整合Ribbon實現(xiàn)負(fù)載均衡 Spring Cloud Netfl...
閱讀 3546·2021-11-18 13:22
閱讀 2561·2021-09-23 11:53
閱讀 732·2019-08-30 13:17
閱讀 1349·2019-08-30 13:12
閱讀 902·2019-08-29 15:43
閱讀 1107·2019-08-29 12:53
閱讀 2831·2019-08-26 18:27
閱讀 1503·2019-08-26 11:52