分布式消息服务Kafka版-提高Kafka消息处理效率:重视消息生产与消费的确认过程
重视消息生产与消费的确认过程
消息生产
发送消息后,生产者需要根据分布式消息服务Kafka版的返回信息确认消息是否发送成功,如果返回失败需要重新发送。
生产消息时,生产者通过同步等待发送结果或异步回调函数,判断消息是否发送成功。在消息传递过程中,如果发生异常,生产者没有接收到发送成功的信号,生产者自己决策是否需要重复发送消息。如果接收到发送成功的信号,则表明该消息已经被分布式消息服务Kafka版可靠存储。
消息消费
消息消费时,消费者需要确认消息是否已被成功消费。
生产的消息被依次存储在分布式消息服务Kafka版的存储介质中。消费时依次获取分布式消息服务Kafka版中存储的消息。消费者获取消息后,进行消费并记录消费成功或失败的状态,并将消费状态提交到分布式消息服务Kafka版。
在消费过程中,如果出现异常,没有提交消费确认,该批消息会在后续的消费请求中再次被获取。