大数据-kafka学习基础篇

本文介绍了消息队列的点对点和发布/订阅两种模式及其特点,重点讲解了Kafka作为高吞吐量分布式消息队列的原理。Kafka是一个使用Scala编写的分布式系统,提供数据缓冲,确保在生产者和消费者之间进行高效的数据传输。文章还解释了Kafka中的核心概念,如生产者、消费者、主题和分区,并讨论了其架构和常用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.消息队列的两个模式和特点

两个模式:点对点模式(一对一,消费者主动拉取数据,消息收到后消息清楚); 发布/订阅模式(一对多,数据生产后,推送给所有订阅者)

8大特点:

1.解耦

2.冗余

3.扩展性

4.灵活性&峰值处理能力

5.可恢复性

6.顺序保证

7.缓冲

8.异步通信

队列:先进先出  栈:先进后出

二. 什么是kafka

kafka是一种欧冠高吞吐量的分布式发布订阅消息队列(所以有集群概念,底层是scala, kafka版本分为两部分来看,第一部分是scala版本)。kafka保存数据在每一个主题里,即topic。

topic要有入口和出口,入口->生产者(producer)出口->消费者(consumer),此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。 

无论是kafka集群,还是consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性。

通俗易懂的例子来理解kafka:(来自:https://www.orchome.com/kafka/index  作者:半兽人 来源:OrcHome)

生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎住了(系统宕机了),生产者还在生产鸡蛋,那新生产的鸡蛋就丢失了。再比如生产者很强劲(大交易量的情况),生产者1秒钟生产100个鸡蛋,消费者1秒钟只能吃50个鸡蛋,那要不了一会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值