老铁,你还在为9点半开市时的数据陡增导致的数据积压问题而烦恼头秃吗?
你还在为数据传递时的消息阻塞而手足无措吗?
你还在为无法保障消息顺序性及回溯消费而寝食难安吗?
不要怂,不要怕,请允许笔者为你推荐一款实时数据开发必备良药——Kafka。

01 Kafka简介
Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。不同于点对点模式的消息队列,Kafka发布到topic的消息会被所有订阅者消费。
02 Kafka基础架构

- Topic:
可以理解为一个队列,生产者和消费者面向的都是一个topic。 - Partition:
为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列。 - Producer:
消息生产者,就是向kafka broker发消息的客户端。 - Consumer:
消息消费者,向kafka broker取消息的客户端。多个consumer组成消费者组,消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。 - Broker :
一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以

本文介绍了Kafka在实时数据开发中的应用,包括Kafka的基础架构、生产者和消费者的细节,如分区策略、数据可靠性和Exactly Once语义,以及offset维护。通过了解这些,可以帮助解决数据积压、消息阻塞和消息顺序性问题。
最低0.47元/天 解锁文章

445

被折叠的 条评论
为什么被折叠?



