-
生产端:
设置acks=all(表示所有副本都要接收到消息)
设置retries>0自动重试消息发送
使用send的回调函数 -
broker端: (ACS那边自动管理,不需要我们配置,了解就好)
设置unclean.leader.election.enable=false(阻止落后太多的broker竞选Leader)
设置replication.factor>=3 将消息多保存几份
设置min.insync.replicas>1控制消息至少要被写入到多少个副本才算是“已提交”
确保replication.factor>min.insync.replicas,如果两者相等,那么只要有一个副本挂机,整个分区就无法正常工作,推荐replication.factor=min.insync.replicas+1 -
消费端:
设置enable.auto.commit=false,确保消息消费后再提交.