2016-11-17 58 views
0

背景卡夫卡在哪些情况下开始“拥挤”?

我在这里下面这个教程,使一些第一步朝着建立一个分布式环境:http://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/current-SNAPSHOT/reference/htmlsingle/#_getting_started

我试图做到的,是一个分布式作业队列运行旧的外壳和C++应用。作业应根据其负载分布到多个服务器。

我在做什么不是打算分割个别作业的数据,既不可行(并且在任何情况下性能都不好,因为这是关于什么)来并行处理它们。因此,如果你愿意,我打算滥用大数据机制来完成这种任务。

问题

鉴于上述背景,在何种情况下将卡夫卡消息总线开始拥塞?

比方说,当我有4个服务器处理作业队列并将许多文件(每数十MB或数百MB)放入队列时会发生什么情况。例如,卡夫卡会将这些消息传递给某些节点,还是所有节点都会收到相同的消息?在后一种情况下,我想我的群集只能扩展到Kafka可以处理的程度。 在这种情况下,拥塞的其他原因呢?

这可能是卡夫卡不是我正在尝试做的正确选择。但这也是我问的原因。

回答

1

卡夫卡不是文件服务器。默认的最大消息大小(max.message.bytes)为1000012字节。不要使用Kafka作为文件服务器,它不会让你开心。

一种可能的模式:使用长期储存溶液(SAN,S3,等等),并使用卡夫卡到的URI传送给该存储

+0

违背卡夫卡的权利要求为它是也良好作为存储系统(HTTPS:/ /kafka.apache.org/intro.html请参阅“存储系统”一节)。 – benjist

+0

卡夫卡非常擅长长时间储存​​信息。个别人不能太大。我稍微强化了答案。也许这也会让你感兴趣:https://www.cloudera.com/documentation/kafka/latest/topics/kafka_performance.html#concept_gqw_rcz_yq – ftr