中易网

socket.io node.js 可以负载均衡吗

答案:2  悬赏:80  
解决时间 2021-02-11 05:08
socket.io node.js 可以负载均衡吗
最佳答案
我们在用 Node.js 处理知乎主站的 web 实时推送。你现在看到的 Feed 、消息的实时更新,背后就是几个 node 进程扛起来的。

优点:

1. 处理高并发场景性能更高

在用 socket.io 之前,推送服务是用 ajax polling 做的。我们用 Tornado 和 Node.js 做过两个版本的推送服务。在当时的测试环境下,Node.js 的 CPU 时间是 Tornado 的三分之一,内存使用是 Tornado 的一半,代码行数只有 Tornado 的三分之一(Node.js 版是用 coffee 写的)。后来我们使用了 socket.io,CPU 开销进一步降低。

2. 函数式编程非常适合写异步回调链

用 Node.js 配合 CoffeeScript 写异步操作链非常便利,相比之下 Tornado 无论是写命名函数的回调,还是 yield 一个 Task 都没那么自然。

缺点:

1. 大量匿名函数使异常栈变得不好看。
2. 无法以 request 为单位 catch 异常,必须确保不要在不 catch 异常的第三方库的回调里的抛异常,这在一个异步操作链条里是一件比较麻烦的事。解决方法之一是对那些不 catch 异常的第三方库做一些封装,把所有的异常变成事件,改成 on('error') 形式的 API。
全部回答
我们在用 node.js 处理知乎主站的 web 实时推送。你现在看到的 feed 、消息的实时更新,背后就是几个 node 进程扛起来的。 优点: 1. 处理高并发场景性能更高 在用 socket.io 之前,推送服务是用 ajax polling 做的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从西安钟楼到北大街十字坐哪路公交
什么是钢支撑和木支撑
宝宝吧在什么地方啊,我要过去处理事情
过了期的安利防晒霜还能用吗
本人刚从事外贸,请问一下宁波哪个单证员培训
广西10月份哪里有美食节
伊兰特酒店我想知道这个在什么地方
中石油枣庄第二十四加油站地址好找么,我有些
鹿产品专卖店这个地址在什么地方,我要处理点
高一高二没好好学,高三还来得及吗
刑事诉讼的被告人 什么时候有权委托辩护人
徽州区快乐宝贝幼儿园地址在哪,我要去那里办
海贼王:修女到底是谁
代表风水的成语
奥迪大区是怎么划分的啊?
推荐资讯
原始人如何吃盐?
为什么会有沙漠
想一个句子用上恰当的成语赞美一下贝多芬
CHOCOOLATE在哪里啊,我有事要去这个地方
美肤坊护肤中心怎么去啊,有知道地址的么
茶会解药吗
蕾奇尔洗衣(康居西城店)这个地址在什么地方,
不能在文言文中哪个字可以表达
帝都大酒店怎么去啊,有知道地址的么
苹果6plus摔了一下没铃声iphone
市场营销和电子商务哪个更好点?
这个图片是那个动漫里的?动漫名字是什么?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?