首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scale SocketIO (NowJS)

Scale SocketIO (NowJS)
EN

Stack Overflow用户
提问于 2011-12-11 18:59:32
回答 1查看 629关注 0票数 2

我目前正在使用Linode部署我的应用程序。我有2台服务器,1台数据库服务器,前面有1个负载均衡器。

我正在使用Redis作为数据库和NowJS来实现聊天室。使用Pub/Sub一切工作正常。现在,我想使用集群来利用多核服务器的优势。然而,在应用集群时,我遇到了奇怪的情况。有时,应用程序工作,有时不工作,大约25%工作,75%不工作(我运行了4个进程)。因此,我可以假设集群导致nowJS不能正常工作。现在,我必须做出决定

1.切换到SocketIO并使用RedisStore (对于SocketIO,我仍然可以使用发布/订阅和RedisStore吗?或完全切换到RedisStore)

2.忘记集群,在需要的时候增加更多的服务器(因为多核没有被利用,这是不是浪费资源)

我为我糟糕的英语感到抱歉,我不是本地人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-11 19:05:57

我不确定你说的25%和75%是什么意思,但如果你指的是cpu /内存,你应该知道Node在没有事情要做的情况下是非常高效的,所以这可以解释这种情况。

此外,使用多核的唯一方法是产生更多的进程(因此使用集群)。

你正在使用RedisStore (这样Socket.IO可以将连接数据保存在内存中,而不是单个进程=>来扩展一个进程)和Redis for pub/sub是很好的,你也可以将这些独立的Socket.IO使用(NowJS是Socket.IO之上的另一个抽象层)。

因此,您应该使用多个进程,然后尝试水平扩展(升级您的计算机),并仅在尝试垂直扩展之后(添加更多计算机)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8463427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档