我正在开发一款可以长时间与网络断开连接的移动应用,但我们仍然希望能够收集统计数据并包含结果,即使他们的报告显着延迟。我正在研究不同的分析,包括Twitter的Fabric's Answers。
在文章Handling Five Billion Sessions A Day In Real Time中,它说:
为减少对设备的影响,我们分批发送分析事件 并在发送前压缩它们。始终确保有价值的数据 到达我们的服务器后,设备会在a之后重试失败的数据传输 随机退避和设备上的磁盘大小限制。要得到 事件尽快传到服务器上,有几个 导致设备尝试传输的触发器:时间触发器 当应用程序被预先安排时,每隔几分钟就会触发一次 事件触发器和应用程序进入后台触发器。
如果设备长时间(几天)与网络断开连接,事件在发送前会保存多长时间?
什么是“磁盘大小限制”?
如果事件过于陈旧(例如Google的Firebase will ignore events超过72小时),事件是否会被忽略?
答案 0 :(得分:3)
来自Fabric的Mike。
我们对何时忽略事件没有任何时间限制。
我们确实有一个磁盘限制,你提到我们缓冲事件的位置,如果达到限制,将以FIFO方法删除它们。当这将被命中时,取决于每个应用会话记录的事件数量。如果您在每个应用会话中记录数百个事件,那么如果您在每个应用会话中记录一些事件,那么您将更快地达到限制。
需要注意的一件事是,事件将在我们的服务器上收到的那天计算。