看标题,为什么要这样做呢?明明不太会的东西,也要写文章出来谈一下?不担心会误导别人么?
事情的真相是这样的,我不太会nodeJs,那说明我还是会一些的,至少它的道理我是懂的。这种情况下,如果想讲给别人听,就必须要查资料,找内容,否则我讲不出来东西。
而这其实就是一个学习的过程。这篇文章写出来,我就比写之前懂的多一些。因为写文章,是一个梳理自己思路的过程,是一个结构化自己的知识体系和补全知识短板的过程。
这就是常言道,“分享即是学习”。
nodejs是什么,这就不说明了,自己百度一下就会有结果。那么它有哪些好处和坏处呢?
首先,要说好坏就得先说它能解决什么问题。那么web应用的问题之一,也许是最大的问题,就是“并发”,瞬时10万并发,相信多数网站都要挂掉。
那么nodeJs怎么解决呢?它修改了访问连接服务器的方式。不是让这10万大军一次挤到服务器这里,而是在每个访问中搭配一个事件。
相当于给访问一个秘书,哪个访问有结果了,就让这个秘书把结果交给这个访问,这个访问就结束了。
这就像银行叫号一样,再多的人,排着队呢,就不会乱,银行窗口就不会挤死。
用专业的术语来讲,这就是nodejs的优点之一,“事件驱动、异步、非阻塞”。
那么它的缺点呢?同样也非常明显,就是单线程!每次只能服务一个访问,多核的CPU利用的不充分。
刚才说了每次一个进程,进程有结果了就用事件返回结果。。。但问题是,如果这个进程完蛋了,崩掉了。那这个服务自然也就完蛋了。
当然上面的缺点都有相应的解决方案。但这篇小文算是科普的,不扩大了谈,谁想了解nodeJs的解决方案请自行百度学习。
至少,我又懂了一点,哈,这就是我以为的学习的真相,没有大步,只有一点一点的前进。
网友评论