最近面试了美团和字节跳动。说自己熟悉Kafka后,都重点被问了项目+kafka是如何实现幂等。现总结如下。 01 幂等性如此重要 Kafka作为分布式MQ,大量用于分布式系统中,如消息推送系统、业务平台系统(如结算平台),就拿结算来说,业务方作为上游把数据打到结算平台,如果一份数据被计算、处理了多次,产生的后果将会特别严重。 02 哪些因素影响幂等性 使用Kafka时,需要保证exactly-once语义。要知道在分布式系统中,出现网络分区是不可避免的,如果kafka broker 在回复ack时,出现网络故障或者是full gc导致ack timeout,producer将会重发,如何保证p...