副本机制

副本的目的就是冗余备份,当某个broker上的分区数据丢失时,仍然可以保障数据可用。因为在其他的broker上的副本是可用的。

对副本关系较大的就是producer配置的acks参数。Acks参数表示当生产者生产消息的时候,写入到副本的要求严格程度。它决定了生产者如何在性能和可靠性之间做取舍。

  • Acks=0,表示不等待broker确认,直接发送下一条数据,性能最高,但可能会存在数据丢失的情况。
  • Acks=1,表示生产者会等待leader副本确认接收后,才会发送下一条数据,性能中等。
  • Acks=-1/all,表示生产者会等待所有的副本将数据同步后,才会发送下一条数据,性能最慢,但是能确保数据不丢失。
posted @ 2021-08-01 21:17  Eleanor123  阅读(78)  评论(0编辑  收藏  举报