您的位置:首页 > Web前端 > Node.js

究竟是用 Go 还是 Node.js 去做中间件?

2017-05-19 22:54 531 查看
后端的技术选型还是得看具体应用背景。注意:技术选型不是选语言框架,而是设计处理模型。

处理模型有几个基本的纬度:接受请求阶段,执行请求阶段。事件驱动,线程池。代码风格:同步还是异步。内存垃圾回收等策略。profile工具是否完备等等等。

如果你说IO密集型,那等于没啥cpu压力。node可以入围。如果是cpu密集,那就乖乖用线程池模型。

采用node方案,主要问题是是否彻底掌握内存回收的细节,js的抽象建模的套路,还有各种配套工具,以及团队的熟悉程度。如果对js印象还停留在10年前,或者觉得js简单才用node,后面肯定被坑了。

实际上,node的v8,跟java的hotspot是同根同源,甚至都是同一个人主导。v8性能在非本地编译语言里,也是仅此于java这类中间语言。至于IO密集型,大家都一样,只是怎么跟操作系统bind。

golang也太了解了。node肯定可以做,但内存问题要小心。

作者:陈连杰

链接:https://www.zhihu.com/question/29808896/answer/148593997

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nodejs go