美文网首页
Kafka之二使用经验

Kafka之二使用经验

作者: Wu杰语 | 来源:发表于2020-10-11 15:28 被阅读0次

    kafka是集群中间件,对于它的使用,是否说节点越多越好呢,TOPIC数量是否越多越好呢。

    Kafka节点数

    让我们回到kafka架构图


    image.png

    这是个三节点集群,为了提高可用性,那么是否节点增加越多越好呢?然后测试,发现:

    • 单节点,吞吐量190M/s,CPU利用率2-2.5核
    • 三节点,吞吐量60M/s,CPU利用率0.5-1.5核
    • 五节点,吞吐量30M/s,CPU利用率0.2-1核

    通过实验发现性能和节点数并发线性增长,会因为高可用损耗性能。损耗在哪里呢,节点数增多,副本分布的节点不同,或者分布在更多的节点上,会消耗更多的内存、CPU资源,从而导致性能下降。如果考虑可用和性能,根据实际项目,三节点可能是一个比较好的平衡点,而不是一味的增加节点。

    Topic的数量

    topic的数量会造成怎样的影响呢,在我们的实际项目中,应用根据需要自己定义topic,发现topic数量达到1000多个,而大多数topic实际消息量不多,可以用20%的topic占据了80%的消息量来形容。

    但是由于topic泛滥,多个topic的副本间增加了大量的连接,并且为了消费,客户端连接到某个副本消费,增加了大量的不必要的消费连接。

    大量的topic导致的结果就是节点资源消耗较多,需要扩充内存和CPU才能正常运行。

    通过必要的topic治理,以及后续的topic申请规范,解决整个问题。

    小结

    kafka虽然是一把利器,但是在性能和高可用面前,是相互制约的。并且在使用kafka过程中,需要按照一定的规范对于topic进行约束,一段时间要进行治理。

    相关文章

      网友评论

          本文标题:Kafka之二使用经验

          本文链接:https://www.haomeiwen.com/subject/bcsepktx.html