多个 websocket 通道,单个 ws 对象?

2023-12-30

我将订阅同一服务器的多个 websocket 频道。编写一个管理器来根据 Json 中存在的标签将我收到的各种类型的更新分配给不同的队列是可能的,但是在我的应用程序中创建多个 websocket 客户端对象会节省编程时间,因此每个 websocket 对象仅订阅单个通道。 这是一个明智的想法还是我应该坚持使用单个 websocket 客户端?


正确的答案实际上取决于您的架构。然而,作为一般规则:

如果可以的话,坚持使用单个 websocket 客户端。

服务器对其可以处理的连接数量有限制,这意味着对于每个新的 Websocket 客户端,您都越来越接近服务器的限制(即使 Websocket 除了保持打开状态之外绝对不执行任何操作)。

如果每个客户端打开两个 Websocket 连接,服务器可以处理的客户端数量就会减少一半,每个客户端打开 4 个连接,服务器的容量就会下降到 25%。

这直接转化为金钱和成本,因为运行另一台服务器会增加您的开支。此外,当您必须扩展到单个服务器之外时,就会增加后端成本。

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

多个 websocket 通道,单个 ws 对象? 的相关文章

随机推荐

  • 在固定时间后中断线程,是否必须抛出InterruptedException?

    我想在固定时间后中断线程 其他人问了同样的问题 投票最高的答案 https stackoverflow com a 2275596 1310503 https stackoverflow com a 2275596 1310503 给出了下
  • 在 MacOSX (Macbook Pros) 上以编程方式读取 CPU 温度(+其他传感器数据)

    我想以编程方式从我的 MacBook Pro 2009 型号 读取 CPU 温度和任何其他有趣的传感器数据 我该怎么做 我注意到一个上一篇文章 https stackoverflow com questions 2216888 how to
  • 在 Spring 中格式化/缩进 JaxB 编组器

    我正在尝试对 Spring 中的 Jaxb2Marshaller 类的输出 XML 进行 PrettyPrint 缩进 格式化 即使我输入的属性如 Web 上其他地方所见 该文件仍然全部在一行上 这是我的 bean 声明
  • C++:我想在所有 CPP 文件之间使用这个配置类,如何初始化它?

    class Config public static int OUTPUT TO FILE static int NEED TO TRAIN static int NO FILE TRAIN static int NEED TO TEST
  • Java 创建临时文件

    名称的最大长度是多少TempFile在java中和MaximumFilesize取决于 在我们提到要创建的临时目录或其他基于java的机器上 何时致电deleteOnExit 方法 但是这个方法有什么用 因为它会在 JVM 关闭时被调用 但
  • Glide - 下载 GIF 并调整其大小到文件中

    我需要下载一个 GIF 并将其保存到外部存储 以便我可以通过彩信发送它 消息的大小限制为 300kb 并且大多数 GIF 太大 因此我需要调整它们的大小 我在项目的其余部分中使用 Glide Glide 有一个漂亮的功能 理论上应该下载调整
  • twitter bootstrap form-group 的 AngularJS 指令

    我最近一直在玩 Angular 到目前为止一切都很好 但我在指令方面遇到了困难 我正在尝试创建一个指令 为标准引导表单组生成 html 标记及其相应的验证消息 所以基本上我正在尝试转换它
  • Couchdb - 是否可以停用reduce_overflow_error错误

    我正在开发一个映射 归约 它在重新归约的情况下并不能准确地返回我所期望的结果 我想调试它 但我至少也想看看里面有什么 所以我输出了很多东西 Couch 返回了一个reduce overflow error每次我运行视图时 是否可以停用此行为
  • 正确使用 NSGetExecutablePath

    我尝试在运行时获取应用程序的路径 我找到了一些来自 C 的旧源代码 并将其相应地转换为函数参数类型定义 var path Int8 count 1024 repeatedValue 0 var bufsize UInt32 1024 if
  • 如何在多个字段上使用 SearchHeadline 和 SearchVector

    我需要一个搜索多个字段并返回一个突出显示匹配单词的 标题 我的理解是 SearchVector 是跨多个字段搜索的合适选择 但我见过的所有 SearchHeadline 示例都只使用一个字段 将 SearchHeadline 与多个字段结合
  • Spring Cloud Gateway 和 TokenRelay 过滤器

    我正在尝试将 JHipster 从使用 Zuul 迁移到 Spring Cloud Gateway JHipster 使用 Eureka 来查找路由 我相信我已经正确配置了 Spring Cloud Gateway 来查找路由并将访问令牌传
  • 调整 UIPrintInteractionController 的 UIImage 大小

    我目前正在研究通过 Airprint 打印视图内容的可能性 对于此功能 我从视图创建一个 UIImage 并将其发送到 UIPrintInteractionController 问题在于图像的大小被调整为纸张的完整分辨率 而不是原始大小 大
  • 使用 Ionic Zip 库将文件夹添加到 Zip 根目录

    我想要做的是使用 Ionic Zip 库 c 将文件夹和文件列表全部添加到我的 Zip 文件的根目录中 这是我到目前为止所拥有的 string k B My Documents Workspace private void button1
  • 运行Android应用程序会产生java.lang.NoClassDefFoundError:retrofit.RestAdapter$Builder

    我正在 Android 上使用 Flickr API 制作一个照片库应用程序 使用 Eclipse 和 4 4 SDK 该项目已成功编译 但应用程序在再次运行 4 4 的 Nexus 7 2012 上启动后立即崩溃 我的构建路径中包含以下
  • 实体框架查询中 string.Trim() 的行为

    我正在尝试将名称列表复制到 SQL Server 表中 我为其设置了实体框架项目 名称列表有重复的值 并且有几个值末尾有空格 我希望只插入表中尚未存在的名称 并删除它们末尾的空格 看起来相当简单 对吧 我的解决方案是这样的 if conte
  • 使用谷歌地图 API v3 相交多边形和折线

    我有一个动态创建的多边形和折线 现在我需要检查它们是否彼此相交 我该如何实现这一目标 谷歌搜索没有提供任何令人满意的结果 谢谢 丹尼尔 您需要迭代第一个多边形 折线的每个线段 并检查它是否与第二个多边形 折线的每个线段相交 如果一个相交 则
  • 交换环境 URL 到底是如何工作的?

    我最近使用交换环境 URL 来升级我的 Elastic Beanstalk 应用程序 使用两个环境 我在映射到 beanstalk URL 的不同 URL 上有一个 CNAME 记录 然后我尝试推送到生产环境 现在位于测试 URL 然后再次
  • Python 3 从网络广播流中获取歌曲名称

    如何从网络广播流中获取歌曲名称 Python 从url获取shoutcast 网络广播电台的名称 https stackoverflow com questions 3110494 python get name of shoutcast
  • 修剪 csv 导入中的对象内容

    我需要对从 csv 导入对象中提取的每个值运行修剪方法 还没有尝试过类似下面的方法 但对我来说 我不想在传递给函数的每个变量的末尾定义一个修剪命令 csvobj c somestuff csv foreach csvitem in csvo
  • 多个 websocket 通道,单个 ws 对象?

    我将订阅同一服务器的多个 websocket 频道 编写一个管理器来根据 Json 中存在的标签将我收到的各种类型的更新分配给不同的队列是可能的 但是在我的应用程序中创建多个 websocket 客户端对象会节省编程时间 因此每个 webs