kafka为什么吞吐量高

匿名 (未验证) 提交于 2019-12-02 23:43:01

1:kafka可以通过多个broker形成集群,来存储大量数据;而且便于横向扩展。

2:kafka信息存储核心的broker,通过partition的segment只关心信息的存储,而生产者只负责向leader角色的partition提交数据,而消费者pull数据的时候自己通过zk存储offset信息,严格讲broker基本只关心存储数据;

3:kafka的ack策略也是提高吞吐量的手段:

  1)生产者的acks如果设置0则只向leader发送数据,并不关心leader数据是否存储成功;

  2)如果设置为1在向leader发送数据后需要等待leader存储成功后才会认为一次操作成功;

  3)如果设置为-1在向leader发送数据后不但需要等待leader存储成功,还要等待各个follow角色的partition,从leader拉取数据后存储完成才算一次完整的ack,当然这种情况会降低kafka的吞吐量;

ps:而且kafka底层是通过NIO顺序写数据,效率也是非常高的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!