1.传递保障
在一个分布式发布订阅消息系统中,组成系统的计算机总会由于各自的故障而不能正常工作。在Kafka中,一个单独的broker,可能会在生产者发送消息到一个topic的时候宕机,或出现网络故障,从而导致生产者发送消息失败。Kafka提供了三种传递保障来解决上述问题,其依赖Producer和Consumer共同实现,主要依赖于Producer,在代码中由“properties.put(ProducerConfig.ACKS_CONFIG, “all”);”体现。
(1).0
最多一次,收到0或者1次消息,消息发出后,不会等待任何响应,无法保证消息是否成功发送到broker中。
(2).1
正好一次,最严格的,收到1次消息。
(3).all
至少一次,收到1或者多次消息,发出消息后一定要等待响应,如果生产者没有响应则会重发。