我们的系统架构通常是由客户端和服务器端构成的。而C/S和B/S的区别无非就是前者是自己制造了一个客户端软件,而后者是利用了浏览器软件。使用浏览器软件虽然在功能上会受到限制,但是避免了跨平台的麻烦(暂不考虑跨浏览器的问题)。

我关注node.js的一个前提是关注B/S架构。而在浏览器中总是使用javascript操纵DOM对象来实现想要的功能。在选择WEB服务器时,因为在asp服务器中是可以写javascript语法的,所以尽管有后面的asp.net,我也曾经试图转过去,最终还是放弃了。理解这一点不困难,就像我们平时习惯了去某个店里面的服务生说的是中文,如果旁边开了家新店,虽然广告铺天盖地而来,说这家店是“新一代”,但是里面服务生说的是拉丁语,像我这样不喜欢学习外语的人也只好就放弃了。

客户端和服务器端使用同一种语言,没错,就是因为这个,在.netFramework出4.0时,我仍然钟情于asp3.0。今天,看到node.js,作为IIS的可选替代品,当然要关注了,毕竟IIS是装在windows环境下的服务器呢,而node.js是可以装在Linux上的。

我关注node.js的另外一个原因是node.js的异步机制带来的高并发前景。单台服务器实现高并发服务也是一件很美妙的事情呢。如果一台服务器能够满足需求,为什么还要采用集群呢?如果一个小的集群就可以达到目的,为什么还要采用大集群呢?

总之,我关注node.js的动机可总结为3条:1. B/S架构,2.客户端和服务器端使用同一种语言,3.支持高并发的异步机制。