2016-11-17 60 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