当前位置: 首页 > article >正文

Kafka面试题----Kafka都有哪些特点

一、高吞吐量

  • Kafka 是为处理高吞吐量的实时数据而设计的分布式消息系统。它可以轻松处理数千条消息每秒的输入,并且可以通过水平扩展(添加更多的 broker)来处理更大的负载。
  • 这得益于其高效的存储和消息传递机制,它使用了分区(Partition)和批量处理(Batch)的方式,将消息存储在磁盘上,并以顺序读写的方式来提高性能。顺序读写对于磁盘来说比随机读写要快得多,因此 Kafka 可以在处理大量消息时保持较高的性能。

二、分布式架构

  • Kafka 采用分布式架构,由多个 broker 组成集群。消息存储在不同的分区中,并且这些分区可以分布在不同的 broker 上。
  • 当有新消息进入时,它会被分配到相应的分区中。分区可以在集群内进行复制,以提高可用性和容错性。每个分区有一个 leader 和多个 follower,leader 负责处理读写请求,follower 用于备份,一旦 leader 出现故障,follower 可以被选举为新的 leader。

三、持久化存储

  • Kafka 中的消息会持久化存储在磁盘上,而不是仅仅在内存中。这意味着即使在消息被消费后,它们仍然可以保留一段时间,根据配置的保留策略,如按时间(如保留 7 天)或按大小(如保留 10GB 的消息)。
  • 这种持久化存储使得 Kafka 可以用于存储大量的数据,并且在需要时可以重新消费这些数据,这对于数据的可追溯性和审计等需求非常有用。

四、多生产者和多消费者<


http://www.kler.cn/a/512304.html

相关文章:

  • leetcode——找到字符串中所有字母异位词(java)
  • 亲测有效!如何快速实现 PostgreSQL 数据迁移到 时序数据库TDengine
  • 基于vite+vue3+mapbox-gl从零搭建一个项目
  • 20250119面试鸭特训营第27天
  • Spark RPC 学习总结
  • ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
  • Lightning初探
  • Go channel关闭方法
  • JAVA-IO模型的理解(BIO、NIO)
  • 在VSCode中使用Jupyter Notebook
  • Centos 8 交换空间管理
  • LeetCodeHOT100:60. n个骰子的点数、4. 寻找两个正序数组的中位数
  • 以“智慧建造”为理念,综合应用云、大、物、移、智等数字化技术的智慧工地云平台源码
  • 愿景是什么?
  • JSON-stringify和parse
  • 48V电气架构全面科普和解析:下一代智能电动汽车核心驱动
  • Android 空包签名(详细版)
  • AI刷题-病毒在封闭空间中的传播时间
  • 企业级流程架构设计思路-基于价值链的流程架构
  • 数据结构(二)栈/队列和二叉树/堆
  • centos虚拟机异常关闭,导致数据出现问题
  • 【2024年度个人生活与博客事业的融合与平衡总结】
  • 深入解析 C++17 中的 u8 字符字面量:提升 Unicode 处理能力
  • 大模型LLM-微调 RAG
  • Java-数据结构-二叉树习题(1)
  • AUTOSAR OS模块详解(三) Alarm