一文读懂kafka的幂等生产者
1 前言
大家好,我是明哥!
KAFKA 作为开源分布式事件流平台,在大数据和微服务领域都有着广泛的应用场景,是实时流处理场景下消息队列事实上的标准。用一句话概括,KAFKA 是实时数仓的基石,是事件驱动架构的灵魂。
但是一些技术小伙伴,尤其是一些很早就开始使用 KAFKA 的技术小伙伴们,对 KAFKA 的发展趋势和一些新特性,并不太熟悉,在使用过程中也踩了不少坑。
有鉴于此,我们接下来会有一个 KAFKA 系列文章,专门讲述 KAFKA 的这些新特性。
本文是该系列文章之一,讲述 KAFAK 的幂等生产者。
以下是正文。
2 从历史视角看 KAFKA 的发展
首先我们从历史视角,看下 KAFKA 的发展:
- KAFKA 在2013年12月推出了一个重要的版本 0.8.0,该版本相当重要,因为它通过 KAFKA-50 首次引进了多副本机制,为容错打下了坚实的基础;
- 然后在后续版本中逐步增添了很多新的功能特性:
- 如逐步摆脱对 zookeeper的依赖;
- 如支持 compact 清理策略;
- 如支持 kafka tired storage;
- 如生产者幂等性;
- 如对事务的支持;
- 如大的 kafka 生态的 kafka connect api, kafka stream api 以及 KSQL, 还有 kafka schema