复习kafka

Kafka 介绍

Kafka 是一种分布式的,基于发布/订阅的消息系统。它最初由 LinkedIn 开发,并于 2011 年开源。Kafka 的设计目标是提供一种高效、可靠的消息传输机制,能够处理大量的实时数据。

Kafka 基本概念

  1. Producer:生产者,负责将消息发布到 Kafka 主题中。

  2. Consumer:消费者,负责从 Kafka 主题中订阅消息并进行处理。

  3. Broker:Kafka 服务器,负责存储和管理消息。

  4. Topic:主题,是消息的分类,类似于邮件的标签。

  5. Partition:分区,是 Kafka 中存储消息的单元,每个主题可以被分为多个分区。

  6. Offset:偏移量,是每个分区中消息的唯一标识。

    Kafka 工作原理

  7. 生产者将消息发送到 Kafka 服务器的指定主题中。

  8. Kafka 服务器将消息存储到对应的分区中,并为每个消息分配一个唯一的偏移量。

  9. 消费者通过订阅主题来接收消息,并根据偏移量来标识已经消费的消息。

  10. 消费者可以按照自己的需求来处理消息,例如将消息写入数据库,或者进行实时分析。

    Kafka 优势

  11. 高吞吐量:Kafka 能够支持每秒百万级别的消息处理。

  12. 可靠性:Kafka 提供了数据的冗余存储和容错机制,保证消息不丢失。

  13. 分布式:Kafka 是一个分布式系统,支持水平扩展,可以轻松应对大规模的数据处理需求。

  14. 实时性:Kafka 支持实时的消息传输,保证消息的实时性。

  15. 可扩展性:Kafka 提供了丰富的 API 和插件,方便用户进行二次开发和扩展。

    Kafka 应用场景

  16. 日志处理:Kafka 可以用于收集和处理大规模的日志数据,例如网站日志、应用日志等。

  17. 数据传输:Kafka 可以用于在不同的系统之间传输数据,例如将数据从数据库同步到数据仓库。

  18. 实时数据处理:Kafka 可以用于实时处理和分析数据,例如实时监控、实时推荐等。

  19. 分布式事务:Kafka 可以用于实现分布式事务,保证数据的一致性。

    Kafka 总结

    Kafka 是一种非常强大的分布式消息系统,它具有高吞吐量、可靠性、实时性、可扩展性等优势,被广泛应用于日志处理、数据传输、实时数据处理、分布式事务等领域。通过对 Kafka 的学习,我们了解了它的基本概念、工作原理、优势和应用场景。在以后的工作中,我们可以根据实际需求来选择是否使用 Kafka,以及如何更好地使用 Kafka 来解决问题。

    Kafka 动画演示

  20. 篮球比赛,实况转播相当于消费者,不同的移动端看比赛相当于是消费者。

  21. 数据都写入队列中,队列相当于是硬盘

  22. 单队列转播效率太低,可以搞多个队列

  23. 生产者将不同比赛的信息发送到不同的队列,消费者自主选择队列

  24. 这些不同的队列在kafka内分成不同的分区partition,队列整体叫做topic

  25. 分区的每条记录叫做record

  26. Partition key相当于比赛的队

  27. 每条消息在分区中的位置被称为消息的offset,顺序从0开始单调递增

  28. 消费者如何消费数据

  29. 每个消费者可以topic中所有的partition

  30. 消费者进行划分,同一个的组的数据只能去指定的分区中消费

  31. Kafka如何保障数据的高可用?

分区存在副本,每个副本的功能是备份。

相关推荐
武子康3 小时前
Java-71 深入浅出 RPC Dubbo 上手 父工程配置编写 附详细POM与代码
java·分布式·程序人生·spring·微服务·rpc·dubbo
武子康5 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
橘子在努力8 小时前
【橘子分布式】Thrift RPC(理论篇)
分布式·网络协议·rpc
lifallen10 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
沈健_算法小生13 小时前
基于SpringBoot3集成Kafka集群
分布式·kafka·linq
Swift社区13 小时前
ELK、Loki、Kafka 三种日志告警联动方案全解析(附实战 Demo)
分布式·elk·kafka
chanalbert1 天前
Nacos 技术研究文档(基于 Nacos 3)
spring boot·分布式·spring cloud
线条11 天前
Spark 单机模式安装与测试全攻略
大数据·分布式·spark
C182981825751 天前
分布式ID 与自增区别
分布式
码字的字节1 天前
深入解析Hadoop架构设计:原理、组件与应用
大数据·hadoop·分布式·hadoop架构设计