【发布时间】:2019-05-08 14:37:06
【问题描述】:
.NET/Java 应用程序每秒生成许多 json 对象 (15.00-90.000),其中包括有关金融交易的各种信息。这些消息被发送到 Apache Kafka 上的特定主题,该主题将由 Druid(OLAP 数据库)使用。
请在下方找到生产者和消费者之间的数据流。
Produce -- Persist/Distribute -- Consume
Application (.Net/Java) --> Apache Kafka Topic <--- Apache Druid (Kafka Indexing Service)
消息负载(json 对象列表)
{"filed1" : "value1" , "field2" : "value1"}
{"filed1" : "value2" , "field2" : "value2"}
...
{"filed1" : "valueN" , "field2" : "valueN"}
问题在于 Druid 仅读取(并摄取)第一个 json 对象,而忽略其余的对象而没有事先错误或警告。
注意:如果一个接一个地发送 json 对象,则没有问题,但这在网络和应用程序方面都无效。此外,使用
linger.ms和batch.sizekafka 客户端属性不是一个有效的解决方案,因为生成的消息数量是先验未知的。
【问题讨论】:
标签: apache-kafka druid