我们正在为超过 10000 台移动设备构建一个应用程序,这些设备预计每 10 秒发送一次监控日志。有效负载预计为 1 KB 大小。
因为,我们正在为我们的用例考虑 aws 云,所以 aws 提供了 kinesis 数据流来实时收集数据,它有助于我们的用例
- 可视化实时日志
- 使用 AI 识别问题模式并近乎实时地修复
- 身份记录并发出警报
现在的问题是,既然该应用程序将安装在移动设备上,那么与后端流进行通信的最佳方式是什么?我们是否应该考虑在中间编写一个 HTTP 服务器,以便我们可以用另一种具有成本效益的解决方案替换流,比如 kafka(在 EC2 上),或者如果让数据直接放在 Web 上的流上并在移动设备中具有可配置的接口更明智应用程序根据需要向流/http 用户发送数据。考虑到 kenisis SDK 可能会稍微增加应用程序的大小。