apache-kafka - 垂直或水平扩展 Kafka 集群的注意事项?

标签 apache-kafka

我们计划构建一个多 TB 的 Kafka 集群。 从应该处理世界上最大的 Kafka 集群的 LinkedIn 演示来看,他们似乎正在使用一些相当大的服务器。

我们正计划走另一条路:启动许多小型 Kafka 代理,每个代理处理几 GB。

使用 Kafka 进行垂直扩展和水平扩展的优缺点是什么?例如,对于 50TB,有 5 个代理每个处理 10TB,或者 5000 个代理每个处理 10GB。

这些数字是编造的。

ps:为我们维护 5 或 5000 台服务器的运营成本与全部自动化相同。

最佳答案

我的建议是与 5 个代理一起使用,每个代理 10TB,有 3 个冗余数据副本 (RF3)。 Kafka 代理在它们之间产生大量串扰/聊天,因此最好在出现问题时尽量减少网络开销以及操作甚至认知开销。

您提到运营成本对您来说完全一样。根据我的经验,事情从来没有那么简单。有设置时间、5000 台不同机器的配置、网络流量等。即使全部自动化,5000 台服务器也会出现硬件问题,平均而言,速度是 5 台服务器的 1000 倍,所以如果您期望 1% 的服务器每年都失败,你几乎每周都会有经纪人失败。拥有大型服务器并不能保证没有硬件故障,但可能性较小。

关于apache-kafka - 垂直或水平扩展 Kafka 集群的注意事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31819374/

相关文章:

hadoop - Camus Migration - Kafka HDFS Connect 不从设置的偏移量开始

java - @KafkaListner - 跳过旧消息,即仅接收新消息

apache-kafka - 添加额外的 Schema Registry 层会影响好处吗?

scala - Spark Streaming 和 Kafka : value reduceByKey is not a member of org. apache.spark.streaming.dstream.DStream[任何]

Java Kafka 对象序列化器和反序列化器

spring-boot - Spring Boot + Kafka + Kerberos 配置

ElasticsearchSinkConnector 无法连接到 Elastic

java - kafka java 客户端不消费 - 只是卡在 consumer.poll

apache-kafka - Kafka清理分区后是否将偏移量更改为0?

apache-kafka - 从kafka offset中只获取一条记录