概述
目录
一.什么是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有哪些特性
- 分布式特性:可搭建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.发布-订阅模式
发布订阅模式下,一条消息可被推送给订阅主题的订阅者消费。
四.Linux下安装Kafka
ubuntu18.04下Kafka安装与部署_不忘初心的专栏-CSDN博客_ubuntu安装kafka
最后
以上就是失眠洋葱为你收集整理的Kafka架构组成及基础概念的全部内容,希望文章能够帮你解决Kafka架构组成及基础概念所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复