开发者社区> 问答> 正文

智能媒体管理这个是开启了N个long polling模式 保持拉去的线程吗?

智能媒体管理比如有人调用了IMM 转换接口,成功后就出发MNS的消费消息函数,假如同时多人触发了消费函数,这个是开启了N个long polling模式 保持拉去的线程吗?这个会OOM吗?还是你们sdk有什么机制?

展开
收起
真的很搞笑 2024-07-08 10:13:14 34 0
2 条回答
写回答
取消 提交回答
  • 智能媒体管理与消息服务MNS结合使用时,如果多个消费者同时触发MNS消息的消费,每个消费者实例确实会开启一个长轮询连接来持续获取消息。阿里云MNS SDK设计时考虑了并发处理,会管理这些连接,一般不会导致OOM。

    MNS SDK会内部处理并发和资源管理,确保高效且内存安全地处理多条消息。如果消费函数中存在内存泄漏或者处理大量消息时资源消耗过大,仍然有可能引发OOM。建议在消费函数中优化资源使用,确保及时释放不再使用的资源,并监控应用程序的内存使用情况。可看下此链接

    2024-07-08 15:30:57
    赞同 3 展开评论 打赏
  • 这个是MNS的SDK的行为哈,具体要和他们确认。我这边之前使用golang版本的SDK进行测试的时候,回调是可以自己代码里决策是同步还是异步,如果是同步就会阻塞后续消息,但是能保证整体通量不会过高。异步相反,速度更快但是同时处理的消息也更多,对系统资源消耗也更多。GetTask是短延时的,不能保持连接,和MNS的LongPolling比效率还是更低的 ,此回答整理自钉群“智能媒体管理官网客户群②”

    2024-07-08 12:25:16
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载