使用kafka时踩过的坑

1,如何保证消费顺序,比如同一个用户的下单,撤单肯定有先后顺序。

解决方法:把订单号放在topic中指定partition。

2,用户因为网络延迟导致下单失败,后端看不到用户订单消息,但是却撤单了。

解决方法:消费者消费消息的时候,先判断订单号是否属于下单失败,如果是,则把下单失败的消息放到重试表中,使用重试任务7次还失败,则下单失败。

3,消息积压

解决方法:1,精简发送的报文,减少网络传输,2,检查partition是否有积压,尽量保持每个partition均衡,3,检查数据库性能是否满足要求,可能有大表。

 4,重复消费

解决方法:接口幂等

posted @ 2022-12-02 15:53  ppjj  阅读(95)  评论(0编辑  收藏  举报