最近正在调研MQTT broker,对于产品有个疑问,如果EMQX拿到数据不立即持久化,即使使用http方式集成数据也是有可能失败的,没有补偿机制,没有其他方案了吗,我看如果直接持久化是企业版功能?
“数据丢失”具体是什么意思,能介绍一下你的场景吗?
另外,持久会话是一项企业功能。
是这样的,我在选型过程中向上提方案的时候,领导觉得数据采集完成后,数据集成方式采用http方式是不稳定的,EMQX并没有方式保证这个数据一定能够被存储,没有重试机制一类的,可能会丢失,按他的意思就是数据抓取后立马就要存储起来
同问,之前看社区新闻说是要集成RocksDB来做消息持久化,请问社区版本现在集成了吗,如果没有集成,有什么好的方案保证消息不丢失呢
如果您想持久化您的消息,您可以考虑企业版并通过桥接功能存储您的消息。
如果我采用http数据集成方式,我订阅消息的http服务宕机了,再重新恢复,还能收到宕机这段时间的历史消息推送吗,我如何保证一定能收到这个消息回调呢
你说的这个应该是已经实现了,因为在我的实际测试中,对方设备离线了,在MQTTX工具中打开broker连接仍然可以看到历史发送的消息,参考这个:基于 RocksDB 实现高可靠、低时延的 MQTT 数据持久化