node.js - 如何处理具有不同内存占用的 RabbitMQ 任务排队到同一个交换?
问题描述
想象一下本质上收集“任务”的 RabbitMQ 队列。然后,这些任务由prefetch
值为 100 的 Node.js 应用程序检索。因此,该应用程序最多可预取 100 个任务,然后在可能的情况下处理它们。
这种设置的问题是任务可能有不同的内存占用,因此很难预测prefetch
在 Node.js 应用程序内存不足之前我可以设置什么样的值。对于一些较小的任务,我可以预取其中的 100 个并且应用程序会运行良好,然后一些任务有效负载可能会导致应用程序使用比平时更多的内存,并且在应用程序用完之前只有 50 个预取是可以的的记忆。
我可以将这些任务拆分到不同的队列中,或者尝试对它们进行规范化,以便它们具有更标准的内存占用。您还能建议哪些其他类型的方法?
解决方案
推荐阅读
- selenium - selenium c#等待使用元素名称而不是定位器(By.Id)
- python - 如何对数组进行批量计算
- reactjs - 打开一个
通过单击在另一个组件中呈现的元素 - asp.net-core - .NET Core 2.1 MVC 身份授权 - 不同部分的不同用户角色
- javascript - 从数据库中设置重复字段的值
- python - Python - 熊猫直方图宽度
- javascript - 如何在 TSX 中将值从子组件传递给父组件?
- python - Pyqt gui,带有放置在背景图像上的按钮和数字指示器
- python - git clone 的 Python 进度条
- tfs - TFS 自动构建:Nuget Pack 失败并显示代码 (1)