Kafka集群的分区数量多为什么会影响性能?管理和监控分区的最佳实践是什么?集群中分区数的最佳实践是什么?
最佳答案
kafka Controller 负责跟踪和更新集群状态给集群中的所有broker。当分区数增加时, Controller 需要做更多的工作。 controller 需要将 kafka topic 元数据信息广播给所有其他 broker。分区数量越多,意味着 Controller 需要通过网络发送更多的数据。
集群可以托管的分区数量取决于集群设置。具有更强大主机的集群将能够托管更多主题分区。您可以监控集群上的分区数、代理之间的分区分布以及系统指标(CPU、I/O、网络等)以查看适合您的设置的分区数。在一台主机上托管 >4000 个主题分区后,我们发现了问题。通常,将每个主机的分区副本数保持在 1000 以下是一个很好的做法。我们还可以检查 Controller 日志,看看是否有主题元数据更新失败。
关于performance - Kafka分区影响性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50975603/