tcp - 通过Mqtt传输大量数据(即每条数据约100MB)是正确的选择吗?
问题描述
通过Mqtt传输大量数据(即每条数据约100MB)是否是一个不错的选择?
欢迎任何意见或建议。
补充:据我所知,mqtt 似乎可以支持高达 256MB 的 spec 。但众所周知,它通常传输小于 1MB 的数据。
所以,我现在有点困惑。
解决方案
MQTT 旨在将遥测数据(通常小于 500 字节)发送到具有各种 QOS 评级的多个节点。
这是一个在这里经常出现的问题。当我咨询问我此类问题的客户时,我总是说有更好的方法将大量数据移动到多个节点。考虑这些:
- 将大数据复制到 FTP 服务器,然后使用 MQTT 发送地址。
- 使用某种流式协议或多播流式传输数据,然后通过 MQTT 发送流地址。
您可以通过 MQTT 发送大数据块吗?是的。但仅仅因为你能做到,并不意味着它是最好的方法。我为客户设计的解决方案从不通过 MQTT 发送超过 100k 左右的任何内容。它占用了太多带宽,并且会很快使代理陷入困境,尤其是在订阅者数量众多的情况下。
这里还有其他人会肯定地告诉你,去做,没问题。我遇到了太多客户想要做这样的事情的太多问题,所以我从来没有创建一个使用 MQTT 处理大量数据的解决方案。
推荐阅读
- android - React-Native:Firebase Google 登录在 react-native android 应用发布版本中不起作用
- reactjs - 从获取数据中正确使用 useQuery 和变量
- reactjs - 如何通过 Reactjs ContextAPI 传递函数以将状态从一个组件更改为另一个组件
- angular - 使用 ngrx-router 和 ngrx-data 的问题
- c - 如何在 C 编程中打印带小数位的输出
- unreal-engine4 - UnrealEngine - 替换演员在 World Outliner 中保留旧名称
- html - 更改容器的动画和位置
- excel - Excel VBA - 尝试循环和比较日期时类型不匹配(英国格式)
- javascript - React,如何使大操作(例如过滤和映射 10000 行数组)异步以避免阻塞 UI?
- javascript - 改装自定义轮播以包括导航点