卡夫卡经纪人需要在消费者可以读取之前提交到磁盘吗

时间:2019-03-15 17:42:18

标签: apache-kafka

一旦生产者向代理发送消息,代理是否需要刷新磁盘才能将其提供给消费者?或者它可以在提交到磁盘之前直接从页面缓存中发送。

我们正尝试将kafka用于股票市场数据,这些数据在短时间内的消息传输率可能非常高,因此在向消费者公开之前对磁盘进行写/刷新操作会增加严重的延迟。

1 个答案:

答案 0 :(得分:2)

Kafka使用复制来保持数据的一致性。系统将不一致,如果在写入/刷新之前将数据提供给使用者,然后在将数据刷新到磁盘之前丢失了分区的前导。

仅在将消息写入分区的特定段之后,消费者才能使用它们。

仅允许从领导者分区读取消息,并且只能读取已复制到所有同步副本的消息。如果尝试获取未复制的消息,我们将得到一个空响应。同步副本。

我们应该调整以下参数,以使同步副本与引导者同步,以便可以非常快速地获得数据以供消费者读取。

replica.lag.time.max.ms,复制副本.fetch.wait.max.ms和复制副本.fetch.min.bytes

enter image description here