一旦生产者向代理发送消息,代理是否需要刷新到磁盘,然后才能将其提供给消费者?或者它可以在提交到磁盘之前直接从页缓存发送。我们正在尝试将kafka用于股票市场数据,在这些数据中,短时间内的消息率可能非常高,因此在向消费者公开之前写入/刷新磁盘将增加严重的延迟。
h6my8fg21#
kafka使用复制来保持数据的一致性。如果数据在写入/刷新之前提供给使用者,并且在将数据刷新到磁盘之前分区的前导丢失,则系统将不一致。只有在消息被写入分区的特定段之后,消息才对使用者可用。只允许从前导分区读取消息,并且只能读取那些已复制到所有同步副本的消息。如果尝试获取那些未在同步副本上复制的消息,则将得到空响应。我们应该调整以下参数,以便同步复制副本与领导者同步,以便消费者可以非常快速地读取数据。replica.lag.time.max.ms、replica.fetch.wait.max.ms和replica.fetch.min.bytes
1条答案
按热度按时间h6my8fg21#
kafka使用复制来保持数据的一致性。如果数据在写入/刷新之前提供给使用者,并且在将数据刷新到磁盘之前分区的前导丢失,则系统将不一致。
只有在消息被写入分区的特定段之后,消息才对使用者可用。
只允许从前导分区读取消息,并且只能读取那些已复制到所有同步副本的消息。如果尝试获取那些未在同步副本上复制的消息,则将得到空响应。
我们应该调整以下参数,以便同步复制副本与领导者同步,以便消费者可以非常快速地读取数据。
replica.lag.time.max.ms、replica.fetch.wait.max.ms和replica.fetch.min.bytes