将XML文件(大小为500-600 KB)作为Kafka消息传递的最佳方法是什么?

时间:2014-11-26 11:17:38

标签: xml apache-storm apache-kafka mq

我想阅读流式XML文件并在Apache Storm中解析它们。我使用Kafka作为MQ系统来排队大小约为500 KB的XML文件。我想将整个文件作为消息传递给KafkaSpout。我应该怎么做呢?

2 个答案:

答案 0 :(得分:1)

按原样发送XML文件并没有错。考虑到有效负载的大小,您可能希望查看压缩选项,但发送XML不会导致问题。

答案 1 :(得分:1)

继续并传递整个文件。基于benchmark from linkedin(我添加了相关细节)。


我主要在小的100字节消息上显示性能。较小的消息是消息传递系统的难题,因为它们放大了系统簿记的开销。我们可以通过在记录/秒和MB /秒两者中绘制吞吐量来显示这一点,因为我们会改变记录大小。

enter image description here

因此,正如我们所料,此图表显示我们每秒可以发送的记录的原始计数随着记录变大而减少。但是如果我们看一下MB /秒,我们就会看到实际用户数据的总字节吞吐量随着消息变大而增加:

enter image description here

我们可以看到,对于10字节的消息,我们实际上只是通过获取锁定并将消息排入队列来进行CPU绑定 - 我们无法实际最大化网络。但是,从100字节开始,我们实际上看到网络饱和(尽管MB /秒继续增加,因为我们的固定大小的簿记字节变得占发送总字节数的比例越来越小。)