史上最全的kafka知识解析 kafka作用是什么

【史上最全的kafka知识解析 kafka作用是什么】
什么是Kafka
Kafka基于Scala和Java语言开发 , 设计中大量使用了批量处理和异步的思想 , 最高可以每秒处理百万级别的消息 , 是用于构建实时数据管道和流的应用程序 。
一文快速了解Kafka
Kafka的应用场景
Kafka是一个分布式流式处理平台 。流平台具有三个关键功能:
消息队列:发布和订阅消息流 , 这个功能类似于消息队列 , 这也是Kafka被归类为消息队列的原因 。
容错的持久方式存储记录消息流:Kafka会把消息持久化到磁盘 , 有效避免消息丢失的风险 。
流式处理平台:在消息发布的时候进行处理 , Kafka提供了一个完整的流式处理类库 。
Kafka主要有两大应用场景:
消息队列:建立实时流数据管道 , 可靠地在系统或应用程序之间获取数据 。
数据处理:构建实时的流数据处理程序来转换或处理数据流 。
一文快速了解Kafka
注: Kafka在2.8预览版中 , 采用Raft元数据模式 , 取消了对Zookeeper的依赖 。
Kafka的版本里程碑
版本号 备注
0.8 引入了副本机制 , 成为了一个真正意义上完备的分布式高可靠消息队列解决方案
0.8.2 新版本 Producer API , 即需要指定 Broker 地址的 Producer
0.9 增加了基础的安全认证 / 权限 , Java 重写了新版本消费者 API
0.10 引入了 Kafka Streams
0.11 提供幂等性 Producer API 以及事务(Transaction) API , 对 Kafka 消息格式做了重构 。
1.0 Kafka Streams 的各种改进
2.0 Kafka Streams 的各种改进
Kafka的优势
高吞吐、低延时:这是 Kafka 显著的特点 , Kafka 能够达到百万级的消息吞吐量 , 延迟可达毫秒级 。
持久化存储:Kafka 的消息最终持久化保存在磁盘之上 , 提供了顺序读写以保证性能 , 并且通过 Kafka 的副本机制提高了数据可靠性 。
分布式可扩展:Kafka的数据是分布式存储在不同broker节点的 , 以topic组织数据并且按Partition进行分布式存储 , 整体的扩展性都非常好 。
高容错性:集群中任意一个 broker 节点宕机 , Kafka 仍能对外提供服务 。
Kafka基本结构
Kafka具有四个核心API:
Producer API: 发布消息到1个或多个topic(主题)中 。
Co

    推荐阅读