前言
Apache Kafka是由Apache软件基金会开发的一款开源消息系统项目,主要使用Scala语言编写。该项目旨在为处理实时数据提供一个统一、高通量、低等待的平台。Kafka作为一种分布式的、分区的、多复本的日志提交服务,凭借其独特的设计提供了丰富的消息系统功能。
特点
- 高吞吐量:同时为发布和订阅提供高吞吐量,每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。
- 数据持久化:Kafka支持将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。
- 分布式系统:Kafka是分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。消息被处理的状态是在consumer端维护,而不是由server端维护。
- 可靠性:Kafka的分布式结构使其能够存储数据并构建多台Kafka Server集群。在生产数据时,这些数据会被分布式存放。每个主题Topic都可以有多个分区,当生产者往主题中生产数据时,会写入不同的分区,每个分区存储在不同的机器上。
- 可扩展性:Kafka支持横向扩展,如果需要更多的处理能力,只需增加更多的机器即可。
- 耐用性:Kafka中的数据分区存储在每台机器的磁盘上,因此数据存储在Kafka中不易丢失。
- 性能:Kafka采用顺序读写硬盘的策略,不使用寻址磁盘的策略,这使得它在处理大量数据时性能出色。
现在,让我们深入了解Apache Kafka的实战操作!
由于整个PDF文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。如有需要获取资料文档的朋友可以在文章末尾获取
第1章 认识Apache Kafka
1.1 Kafka快速入门
1.2 消息引擎系统
1.3 Kafka概要设计
1.4 Kafka基本概念与术语
1.5 Kafka使用场景