带有 socket.io 的 Node.js 服务器可同时处理 50000 个客户端

2024-06-08

我们正在开发一个 Javascript 控件,它应该不断连接​​到服务器以接收动画更新。

我们计划将这些东西托管在亚马逊云上。

场景是这样的:服务器连接到 activemq 队列等待更新,对于每个更新,它都会将其广播到所有连接的客户端。

是否可以使用node.js + socket.io 来处理这样的负载? 单个 Node.js 服务器能够处理这样的负载吗? 如果我们必须使用多个节点,如何组织不同节点之间的快速传输?


单个 Node.js 服务器能够处理这样的负载吗?如果我们必须使用多个节点,如何组织不同节点之间的快速传输

您说您计划在亚马逊上托管。因此,首先,任何内容都不应该局限于单个服务器。亚马逊机器将简单地“消失”,您必须假设您将使用多台计算机。

...同时处理 50k 客户端

首先,单个盒子的 50k 连接是一个非常大的数字。这是一个非常详细的博客文章 http://weblog.bocoup.com/node-stress-test-analysis/讨论使用 node.js+socket.io“达到 10k”。

这是一个非常有说服力的引用:

似乎 10,000 个客户端只是需要更多的序列化 比我的服务器能够处理的。

因此,“达到 50k”的关键因素是通过网络推送数据所需的工作量。

如果我们必须使用多个节点,如何组织不同节点之间的快速传输。

该博文是 3 篇博文中的第一篇。完成第一篇后,请阅读另外两篇。这应该为您指明正确的方向。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 socket.io 的 Node.js 服务器可同时处理 50000 个客户端 的相关文章

随机推荐

  • 为什么 Postgres 中的 COMMENT 字符串不能串联?

    我尝试在几行中连接更长的注释以保持代码整洁 但惊讶地发现我做不到 例如 以下命令在管道处返回语法错误 COMMENT ON VIEW my view IS foo bar 评论有什么特别的吗 文档 https www postgresql
  • OpenModelica 中的集成方法

    我注意到 OpenModelica 模拟设置中有多种可用的集成方法 我不知道这些是什么 我可以获得有关这些的一些信息吗 如果改变积分方法 结果的质量会发生变化吗 有关 OpenModelica 中可用集成方法的简短文档 https open
  • Jenkins 管道:代理与节点?

    和有什么区别agent and a node在詹金斯管道中 我找到了这些定义 Node https jenkins io doc book pipeline 管道在一个或多个声明的节点步骤的上下文中执行大部分工作 Agent https j
  • Mocha / Chai Expect.to.throw 未捕获抛出的错误

    我在获取 Chai 时遇到问题expect to throw测试我的 node js 应用程序 测试在抛出的错误上不断失败 但是如果我将测试用例包装在 try 和 catch 中 并对捕获的错误进行断言 它就会起作用 Does expect
  • 在VBA中使用类模块作为命名空间是否有任何陷阱

    VBA 不支持命名空间 Java 人员的包 其他语言中的命名空间有助于避免歧义并补充成员名称自动完成等工具 在 VBA 中模拟命名空间的一种方法是在类模块中声明什么是事实上的静态方法 然后在标准模块中声明该类的默认实例 这甚至是一些 Mic
  • 自动从 iTunes Connect 下载销售报告

    我有一个漂亮而 hacky 的 Perl 脚本来自动从 iTunes Connect 抓取和下载销售报告文件 截至今天 苹果对销售报告网站进行了全面改革 它看起来好多了 但它使用了大量 JavaScript 简单的抓取不再有效 那么 有人知
  • 为什么 Visual Studio 尝试安装到 Program Files (x86)?

    当我启动 VS 2017 安装程序时 默认安装目录设置为 Program Files x86 我在 64 位计算机上使用 Windows 10 x64 操作系统 我从这个链接下载的https www visualstudio com dow
  • 如何将多项式拟合到带有误差线的数据

    我目前正在使用 numpy polyfit x y deg 将多项式拟合到实验数据 然而 我想拟合一个基于点误差使用加权的多项式 我已经发现scipy curve fit http docs scipy org doc scipy refe
  • Audiomanager 扬声器不工作

    我正在尝试在通话时启用扬声器 final AudioManager audioManager AudioManager context getSystemService Context AUDIO SERVICE audioManager
  • 带选项卡导航的标题 React 导航

    使用带有反应本机的选项卡导航器来设置带有页面标题的标题的最佳方法是什么 我知道有一种方法可以将 TabNavigator 包装在 StackNavigator 中 但我不明白如何使用不同类中的不同组件来执行此操作 这就是我设置 TabNav
  • git svn 工作流程 - 功能分支和合并

    我现在使用 git svn 和以下工作流程 git clone
  • 无法使用“无”覆盖背景颜色,只能使用“继承”

    我试图从 Windows 8 ListView 控件中的 win container 元素 图块 中删除白色背景 以使背景显示出来 当我追踪样式时 我可以看到白色背景是按照以下规则应用的 win listview not win footp
  • C 相当于 C++ decltype

    在我的 C 项目中 有一个由另一位同事创建的结构体 其中包含一些函数指针 struct tools int tool a int int int 我无权更改此结构和相关文件 现在我正在使用该结构进行编码 我必须定义一个函数 其返回类型和参数
  • 从命令行将消息放入 MQ 队列

    作为应用程序安装的一部分 我需要将一堆 xml 消息放入 MQ 队列中 为了使其更复杂 消息需要具有 RFH2 标头集的 usr 文件夹 我找到mqput2 exeIBM RFHUtil 是完成此任务的理想工具 不幸的是 我无法使 usr
  • Flink从hdfs读取数据

    我是 Flink 的新生 我想知道如何从 hdfs 读取数据 有人可以给我一些建议或一些简单的例子吗 谢谢你们 如果您的文件采用文本文件格式 则可以使用 ExecutionEnvironment 对象中的 readTextFile 方法 这
  • 本机 C++ 和 C# 互操作

    因此 我正在构建一个必须使用 C 工作的应用程序 但 MFC ATL 太混乱了 不符合我的喜好 所以我有了一个绝妙的主意 即用本机 C 编写所有 思考 代码 并用 C 编写所有漂亮的 UI 代码 但问题是两者之间的互操作性 在我对此过于着迷
  • 关闭模态视图控制器时如何保持呈现视图控制器的方向?

    我正在开发这个应用程序 我需要所有视图控制器 但只有一个是纵向的 单一视图控制器很特别 我需要它能够旋转到手机所在的任何方向 为此 我以模态方式呈现它 未嵌入导航控制器中 所以 例如 我的结构是这样的 window Portrait roo
  • 在 Jenkins 内运行构建时,我收到“java/lang/OutOfMemoryError”

    2020 02 25 10 11 24 986 0000 id 79 信息hudson model AsyncPeriodicWork lambda doRun 0 开始maven repo cleanup 2020 02 25 10 11
  • Heroku 上的 Django 应用程序在一段时间后删除对象

    我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上 该网站的本地版本运行良好 但是 生产版本不会将问题 答案等存储超过几个小时 我决定坚持使用 Django 附带的 sqlite3 我预计该网站不会有太多流量
  • 带有 socket.io 的 Node.js 服务器可同时处理 50000 个客户端

    我们正在开发一个 Javascript 控件 它应该不断连接 到服务器以接收动画更新 我们计划将这些东西托管在亚马逊云上 场景是这样的 服务器连接到 activemq 队列等待更新 对于每个更新 它都会将其广播到所有连接的客户端 是否可以使