Spark定制班第33课:Kafka内核再解密

55 篇文章 0 订阅
55 篇文章 0 订阅
本期内容:
1. Kafka:最快的消息系统
2. Kafka内核内幕

Kafka第一设计原则是消息的传送速度。3台普通的server可以达到百万条消息/秒。Kafka的消息存储能力是无限的。使用了的数据是保存在consumer上。分布式的实时消息来源。由于是在前面取出数据,在后面追加数据,无需加锁,磁盘顺序查询,寻道时间很快,比随机查询快很多,据说快一万倍。 可以有任意规模的producer、broker、comsumer,可以动态增减broker。因为broker是由Zookeeper管理。
总结一下Kafka的特点:
1. 速度:舍弃功能,追求速度。
2. 最强的吞吐量:分布式。
3. 消息的持久化:
4. 被使用的数据是被consumner记录的。
5. 天然的分布式。

接下来五年,一定是Spark+Kafka演绎传奇的五年。应该聚焦于在线的交互式的个性化的大数据系统。

Kafka最小通讯单位是消息,它可以使一个图片、一个事情、或一行文本,你自己定义。
以消息方式交给broker集群。

Kafka消费中有consumer group的概念,应该会定义不同的group。不同的group会达到同时消费。
各极端的例子:划分多个group,每个consumer放到不同的group中,则每个consumer会消费同样的数据。类似于广播机制。
如果,只有一个group,所有consumer在一个group中,则数据只会被某个consumer消费一次。这是队列模式。
zookeeper管理consumer的数据结构,可以协调数据的传输。每个group可能有很多进程,它的consumer在很多机器上,但逻辑上还是一个整体单位,数据只在其中消费一次。

sendfile机制。线性写数据速度可以:>  1GB/s,
传统的持久化是放入缓存,然后刷新写入磁盘。Kafka的所有数据会 立即写入文件系统的持久化日志中,即数据是先放入OS内核的页面的缓存中,再刷新写入磁盘。

十分之一的硬件投入,产出了十倍的消息吞吐能力。所有的实时数据应该放入Kafka中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值