[kafka]消息中间件Kafka如何保证数据可靠性

kafka分别从producer,broker,consumer三个方面来保证了数据的可靠性,从而使得kafka的消息传递在任意环节都不会发生数据丢失(代价是性能的降低)

1 在producer层面,设置参数acks值为-1,使得producer发送的消息在broker中leader落盘,并且所有follower也从leader中拉取数据并落盘才发送响应给producer,通知其可以进行下一步操作,保证了数据从producer到broker的可靠性.

2 在broker层面,采用了分布式的副本机制来保证数据可靠性.

3 在consumer层面,采用了高低阶消费者中的低阶消费者模式,通过手动提交offset的方式保证数据可靠性.

你可能感兴趣的:(kafka)