Kafka架构组成及基础概念

目录

一.什么是Kafka

1.Kafka有哪些特性

2.Kafka有哪些作用

二.Kafka中的核心组成

1.Producer

2.Consumer

3.Broker

4.Zookeeper

5.Topic

6.Partition

7.Leader & Follower

三.Kafka的三种使用模式

1.P2P模式

2.发布-订阅模式

四.Linux下安装Kafka


一.什么是Kafka

Kafka是一款由LinkedIn使用Java和Scala开发的一款消息中间件,目前已经贡献给来Apache基金会,成为了Apache的顶级项目。由于性能的优越性,被广泛应用与项目开发以及大数据领域。官方网站:http://kafka.apache.org/。

1.Kafka有哪些特性

  1. 分布式特性:可搭建Kafka分布式系统,用以提供高可用的消息系统支持。
  2. 多分区、多副本特性:主从复制支持。
  3. JDK支持:由于自身➡由Java和Scala编写,所以需要有JDK环境才可运行Kafka。
  4. 持久化支持:可以将消息持久化到磁盘,防止数据丢失。
  5. 高性能支持:由于高性能特性,Kafka被广泛用于大数据处理领域。

2.Kafka有哪些作用

  1. 消息队列系统:用以系统解耦、消息异步处理、流量削峰等。

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.发布-订阅模式

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

四.Linux下安装Kafka

ubuntu18.04下Kafka安装与部署_不忘初心的专栏-CSDN博客_ubuntu安装kafka

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值