【发布时间】:2019-04-17 09:12:17
【问题描述】:
我想用 apache kafka 创建一个简单的基于传感器数据的应用程序。我的问题很简单,参考了apache kafka的基本概念。我是 apache kafka 的初学者。
这是我的要求:
我通过一个字节数组获取传感器数据,其中包含不同的数据。 例如,数组存在三个条目(温度 1、温度 2 和电压)。这是一个包含 4 个数组和值数据的示例。每个数组都有一个定义的时间戳。
数组 1:[ 1, 2, 3 ]
数组 2:[ 4, 5, 6 ]
数组 3:[ 7, 8, 9 ]
数组 4:[ 10, 11, 12 ]
现在我想读取这些数组并想为三个主题生成消息:
主题-temp1
主题-temp2
主题电压
生产顺序为:
- 读取数组 1
- 向 topic-temp1 (value=1) 生成消息
- 向 topic-temp2 (value=2) 生成消息
向主题电压(值=3)生成消息
读取数组 2
- 向 topic-temp1 (value=4) 生成消息
- 向 topic-temp2 生成消息(值 = 5)
向主题电压(值=6)生成消息
读取数组 3
- 向 topic-temp1 (value=7) 生成消息
- 向 topic-temp2 生成消息(值=8)
- 向主题电压(值=9)生成消息
... 读取数组 n ...
之后我有 3 个主题,里面有不同的数据:
topic-temp1:1、4、7、10
topic-temp2:2、5、8、11
主题电压:3、6、9、12
现在我的问题: 我想创建一个使用这 3 个主题的软件应用程序。我想在一个图表中显示 3 个图表(temp1、temp2、电压)。 y 轴是信号值,x 轴是时间戳。
如何保证我在同一时间戳获得消费值?只有我可以叠加图表。
1,2,3
4,5,6
7,8,9
10,11,12
我应该使用 Kafka-Stream API 吗?一个输入流主题(字节数组)和三个输出流主题?如何保证这三个值一起产生,一起消费?
或者我应该使用简单的消费者 api 并通过偏移值访问数据。因为条目 (1,2,3) (4,5,6) ...的偏移量应该相同,因为我是按这个顺序生成的?
提前谢谢你!
【问题讨论】:
标签: apache-kafka kafka-consumer-api apache-kafka-streams kafka-producer-api