kafka如何保证顺序消费
想要顺序消费的业务消息使用相同的key。这些具有相同key的消息会被发往同一个分区,kafka能保证同一个分区内的消息被顺序消费。
比如订单的事件消息,生成订单、已支付、已发货等等事件消息都可以将订单id作为消息的key。这样就能保证事件消息按发生的顺序被消费。
kafka如何保证消息不丢失
kafka消息要经过生产者发送、broker保存、消费者消费三个过程。只要能保证这三块不丢消息,就不会出现丢消息的问题。
- 生产者要处理异步发送的失败回调、同步发送时的异常。做好日志记录、告警,及时排查问题。
- 生产者的确认参数acks配置为all或-1。当消息被同步到所有broker副本后才认为消息保存成功。
- 消费者经重试后还是无法消费的消息,也要做好日志记录、告警,此外还要把异常消息记录下来,存DB或死信队列都可以。
网友评论