可伸縮的網絡程序?看瞭維基上的定義,大致的意思就是你構建一個web程序,它具有一定的彈性,不會在突然劇增的並發訪問下死掉。
我還是小菜,現在還木有參與過那種可以接受突然劇增的並發訪問的web應用。具體是神馬情況我紙上談兵卻也木有用啊!
node 2009年面世,有瞭node我們服務器端不單單是php或者是java啦。完全可以基於javascript構建出那麼一個完整的web應用(當然node不單單隻有這些用處)
node采用瞭
事件驅動,單線程,非阻塞 三種機制
node有比較重要的三個核心
V8 (google開發的javascript解析引擎,chrome上就是使用的這個啦,V8是c++寫的)
libev (一個用c寫成的庫,應用在非阻塞I/O上,基於event loop)
libeio (同樣也是一個c寫成的庫,線程池,是node完成在單線程下異步I/O的基礎啦)
node安裝起來還是很容易的,我在linux上安裝滴,有興趣可以試試啦
git clone –depth 1 git://github.com/joyent/node.git # or git clone git://github.com/joyent/node.git if you want to checkout a stable tag
cd node
git checkout v0.5.3 # optional. Note that master is unstable.
export JOBS=2 # optional, sets number of parallel commands.
mkdir ~/local
./configure –prefix=$HOME/local/node
make
make install
echo 'export PATH=$HOME/local/node/bin:$PATH' >> ~/.profile
echo 'export NODE_PATH=$HOME/local/node:$HOME/local/node/lib/node_modules' >> ~/.profile
source ~/.profile
我安裝的時候沒有選擇那些可選項
其他平臺的安裝方式可以參照下面的網站
https://github.com/joyent/node/wiki/Installation
假設你安裝好瞭,然後幹嘛呢?肯定是寫個Hello World唄~~~
建個文件hello.js 寫下如下內容:
console.log("hello world");
打開您老人傢的終端,進到hello.js所在文件夾
xxxxx$node hello.js
輸出是你最熟悉的啦!~~~
現在咱們來構建一個http服務器,別怕!很簡單的
創建文件httpServer.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8888, "127.0.0.1");
console.log('Server running at https://127.0.0.1:8888/');
運行哦~,然後開瀏覽器,你懂的~~
今天就先這些吧~
我看的第一篇文章在這裡,推薦給大傢!