一、简介
二、基本原理
三、消息的存储
四、详解producer工作流程
五、详解consumer工作流程
六、扩展

简介

Apache Kafka 起初是 LinkedIn 开发的系统,用于他们内部 需要高吞吐处理日志的场景。随后于2011年初开源,2012 年成为 Apache孵化出站一个项目。这个项目 提供了消息的订阅与发布,用作系统间解耦、异步通信、削峰填谷等。同时也提供了Kafka stream插件包实现了实时在线流处理。
极简单系列-kafka 简介

今天我们主要 讨论kafka 作为消息队列的这部分的内容 ,在消息队列这部分 Kafka 一开始是用scarle 后来客户端加入了java语言。

名字起源

极简单系列-kafka 简介

听完这个简介,能猜出这个中间件为什么叫kafka 么?

我知道你们肯定不能。因为他们也没什么关系。
名字起的还挺有意思,Kafka 是因为这个开源创建者 在大学的时候特别喜欢一位短篇小说作家 叫Franz Kafka 。然后就给这个中间件起了一个名字叫kafka 他觉得很酷。没有太多的关联。如果勉强说有一点关联的话 就是 一个是擅长写作的作家 一个是在起初 用于优化写的系统

产品对比

今天讲MQ 那先拿出来和其他产品做个对比。

极简单系列-kafka 简介

我们能看到的kafka 在 吞吐量,时效 高可用性 以及消息的可靠性 上都存在优势。

另外这里对比应该还有 阿里开源的RocketMQ ,它的各项指标也堪比kafka 。有人把 rocketMq 比作 Java版 的kafka。

它们的设计思路都是效仿Kafk 来做的 看完kafka 可以再去对比他们的不同

特性

极简单系列-kafka 简介

简单来说 kafka 主要的特性
1是 Kafka 把消息持久化到磁盘,相比于其他基于内存存储的系统而言,有效地降低了数据丢失的风险。也正是得益于 Kafka 的消息持久化功能 我们可以把 Kafka 作为长期的数据存储系统来使用

2是高吞吐

非常普通的硬件 Kafka也可以支持每秒数百万的消息

3 是分布式

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
  • 2021-09-08
  • 2021-09-26
  • 2022-12-23
猜你喜欢
  • 2021-04-08
  • 2021-09-27
  • 2021-06-24
  • 2021-11-03
  • 2021-11-02
  • 2021-12-06
  • 2021-09-09
相关资源
相似解决方案