kafka代理是否需要在使用者可以读取之前提交到磁盘

3pvhb19x  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(232)

一旦生产者向代理发送消息,代理是否需要刷新到磁盘,然后才能将其提供给消费者?或者它可以在提交到磁盘之前直接从页缓存发送。
我们正在尝试将kafka用于股票市场数据,在这些数据中,短时间内的消息率可能非常高,因此在向消费者公开之前写入/刷新磁盘将增加严重的延迟。

h6my8fg2

h6my8fg21#

kafka使用复制来保持数据的一致性。如果数据在写入/刷新之前提供给使用者,并且在将数据刷新到磁盘之前分区的前导丢失,则系统将不一致。
只有在消息被写入分区的特定段之后,消息才对使用者可用。
只允许从前导分区读取消息,并且只能读取那些已复制到所有同步副本的消息。如果尝试获取那些未在同步副本上复制的消息,则将得到空响应。
我们应该调整以下参数,以便同步复制副本与领导者同步,以便消费者可以非常快速地读取数据。
replica.lag.time.max.ms、replica.fetch.wait.max.ms和replica.fetch.min.bytes

相关问题