系统解读Kafka的流和表(一):开篇

2020 年 2 月 07 日

系统解读Kafka的流和表(一):开篇

这是探索 Kafka 存储层和处理层核心基础系列文章的第一篇。在这篇文章中,我们将总体介绍事件、流、表以及流和表之间的二元性关系。后续的文章将着重探索 Kafka 的存储层,也就是流和表的分布式“文件系统”,然后再介绍位于存储层之上的处理层。

我与很多 Kafka 用户有过交流,他们当中有开发人员、运维人员和架构师,有一些有流式处理或 Kafka 使用经验,有一些精通关系型数据库(如 Oracle 和 MySQL),有一些则两者都不熟悉。不过,他们会问我相同的问题,比如:“事件流和数据库表之间有什么区别?Kafka 的主题跟流是同一种东西吗?如果把数据放在 Kafka 里,如何最大程度地利用它们?”

事件、流、表

我们先从最基本的开始:Kafka 是什么?Kafka 是一个事件流平台,它提供了这三个关键特性:

  1. 发布和订阅事件;
  2. 按需存储事件;
  3. 处理和分析事件。

那么这里所说的事件是什么东西?

事件记录了真实世界“发生了某件事情”。从概念上讲,一个事件包含一个键、一个值和时间戳。事件可以是一个普通的通知,可能不包含额外的信息,也可能包含所有可用于后续处理的细节。例如:

  • 键:“Alice”;
  • 值:“Is currently in Rome”;
  • 时间戳:“Dec. 3, 2019 at 9:06 a.m.”。

原文链接:【 https://www.infoq.cn/article/rt4tQsckIRxXXj06es2M 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2020 年 2 月 07 日 12:01 1622
用户头像
蔡芳芳 InfoQ高级编辑

发布了 123 篇内容,共 2344 次阅读,收获喜欢 4 次。

关注

评论 1 条评论

发布
用户头像
good

2020 年 06 月 10 日 15:30
回复
没有更多评论了
发现更多内容

第五周-命题作业

JI

极客大学架构师训练营

第五周-总结

JI

极客大学架构师训练营

架构师训练营第五周总结

极客大学架构师训练营

一致性哈希算法Java实现

dapaul

架构师

再谈任务分解

松花皮蛋me

Java 精益开发

架构师0期第五周命题作业

何伟敏

架构师训练营第五周 - 总结

桔子

你真的在做持续集成吗?

Winfield

DevOps 持续集成 CI/CD

架构师第五周

Tulane

架构训练营week05-总结

尔东雨田

week05-作业

seki

功利学习法:我为什么要这么功利?

非著名程序员

学习方法 程序员 程序人生 提升认知

week5 总结

AIK

架构学习第5周作业

乐天

week05-总结

seki

架构师训练营第5周总结

aoeiuvzcs

[架构师训练营] Week02 - 作业

谭方敏

Spring Boot 最流行的 16 条实践解读,值得收藏!

Java小咖秀

spring 学习 Spring Boot SpringBoot 2 经验分享

创业使人成长系列 (1)- 从失败中学习

石云升

创业 个人成长 成长

深入理解CAS:以AtomicInteger为例

独钓寒江雪

Atomic CAS AtomicInteger 自旋

架构师0期第五周总结

何伟敏

第四周课后练习

秤须苑

极客大学架构师训练营

架构师训练营 0 期第五周

Blink

直接赋值,深拷贝和浅拷贝

Leetao

Python Python基础知识

Atlassian Team Playbook | OKR 好的不只是逼格

Atlassian速递

开发

架构师训练营 week05 作业

GunShotPanda

小师妹学JVM之:Dirty cards和PLAB

程序那些事

Java JVM 小师妹 性能调优 JIT

Homework-我的一致性Hash算法

River Tree

Homework

架构师训练营总结 -5

River Tree

极客大学架构师训练营 个人总结

架构师训练营第五周 - 作业

桔子

架构师训练营第5周作业

aoeiuvzcs

系统解读Kafka的流和表(一):开篇-InfoQ