这本身并不是一个编码问题,而更多的是实时流应用程序的架构设计。我们有以下设置:
现在我知道 Kafka 负责处理集群中发生故障的节点(充当代理),但是如果我遇到这样的情况:生产者没有良好的网络连接,并且无法将其数据发布到 Kafka 主题,因为它不能看见?
我们不能丢失任何数据,但好消息是我们为嵌入式物联网设备提供了可扩展的存储选项,我们可以在物联网设备离线时保存数据,然后在连接恢复时传输数据。这是 Kafka 推荐的东西吗?我特别有以下问题:
Kafka 生产者不提供离线模式,据我所知,它不能以块的形式传输数据。我建议您做的是为生产者发送回调,并在失败时将消息内容写入本地存储。然后,您应该有一个后台线程,从本地存储中选取所有刷新的数据,并无休止地尝试使用生产者发送它。基本上,这是您对设备上的时间序列数据库的建议的幼稚方法。但无论是设备上的 FS 还是 DB,这都是满足您需求的唯一方法。
| 归档时间: |
|
| 查看次数: |
1885 次 |
| 最近记录: |