目录
一.什么是Kafka
Kafka是一款由LinkedIn使用Java和Scala开发的一款消息中间件,目前已经贡献给来Apache基金会,成为了Apache的顶级项目。由于性能的优越性,被广泛应用与项目开发以及大数据领域。官方网站:http://kafka.apache.org/。
1.Kafka有哪些特性
- 分布式特性:可搭建Kafka分布式系统,用以提供高可用的消息系统支持。
- 多分区、多副本特性:主从复制支持。
- JDK支持:由于自身➡由Java和Scala编写,所以需要有JDK环境才可运行Kafka。
- 持久化支持:可以将消息持久化到磁盘,防止数据丢失。
- 高性能支持:由于高性能特性,Kafka被广泛用于大数据处理领域。
2.Kafka有哪些作用
- 消息队列系统:用以系统解耦、消息异步处理、流量削峰等。

2. 存储系统:用于替代数据库作为消息存储系统。
3. 流式处理平台:可以与大数据框架整合使用。

二.Kafka中的核心组成
1.Producer
Producer即消息的生产者,它负责创建消息,然后将其投递到Kafka中。
2.Consumer
Consumer即消息等消费者,它连接到Kafka中并且获取消息,进行相应的业务处理。
3.Broker
Broker即服务代理节点(集群),用以处理消息。对于Kafka而言,Broker可以简单地看作一个独立的Kafka实例节点,但一般将其视为Kafka的集群,它里面由许多个服务代理节点broker组成。
4.Zookeeper
Zookeeper的作用是管理Broker集群的元数据。

5.Topic
Topic即消息主题。生产者和消费者面向主题投递消息和消费消息 。

6.Partition
Partition即消息分区。每个Topic都含有若干个分区用以存储消息,同一主题的不同分区可以存储在不同的broker中。由于消息的写入会追加到分区尾部,所以Kafka的消息有序性是依赖分区等有序性来实现的。

7.Leader & Follower
Leader和Follower是针对于Partition提出的概念,Consumer和Producer的读写操作都是基于Leader分区的,其他Follwer提供对Leader的主从复制同步,用以故障切换。Leader和Follower可以存在于不同的broker中。

三.Kafka的三种使用模式
1.P2P模式
P2P模式下,一条消息只可被一个消费者消费,并且在消费之后,该消息消失。

2.发布-订阅模式
发布订阅模式下,一条消息可被推送给订阅主题的订阅者消费。

Kafka入门:概念、模式与安装

本文介绍了Kafka这一消息中间件,它由Java和Scala开发,具有分布式、多分区等特性,可用于消息队列、存储和流式处理。还阐述了Kafka的核心组成,如Producer、Consumer等,介绍了P2P和发布 - 订阅两种使用模式,最后提及Linux下的安装方法。
2万+

被折叠的 条评论
为什么被折叠?



