繁体   English   中英

MQTT主题和kafka主题映射

[英]MQTT topics and kafka topics mapping

由于我在当前组织的远程信息处理中有一个用例,因此我开始学习MQTT。 我想将MQTT代理(mosquitto)消息集成到我的kafka中。

由于每辆车都在单个组织中的MQTT经纪人中按自己的主题发送数据,因此我想将所有这些数据推送到kafka中。 现在我知道不建议在kafka中创建太多主题(超过一百万个)。 另外,我不想将所有车辆数据保存在一个kafka主题中,因为我稍后希望将所有这些数据放入S3中​​,并通过车辆ID进行区分。

如何在不做很多主题的情况下实现这一目标。 一种方法是,kafka的使用者将事件隔离并放入s3中,但我相信S3中会有很多小文件。

通常,如果您具有相同的逻辑实体,则将使用相同的主题。

您可以使用用于Kafka ConnectMQTT插件将数据从MQTT流式传输到Kafka,以及使用Kafka Connect的Single Message Transform RegexRouter修改写入消息的主题名称,以及使用其他SMT修改消息密钥。 这样,您就可以将所有消息归入一个主题,并根据车辆ID进行划分。 那可能是存储它的最好方法。

从那里,您可以根据需要使用数据。 将其流式传输到S3时,您可以使用Kafka Connect S3接收器,并且如cricket_007所述,如果只是担心的数据量,则可以按时间划分数据。 如果要将消息路由到不同的存储桶或同一存储桶的区域,则可以使用流处理(例如Kafka Streams / ksqlDB)对主题进行预处理以填充其他主题。

请参见此处以获取MQTT连接器的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM