我是靠谱客的博主 失眠洋葱,最近开发中收集的这篇文章主要介绍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

最后

以上就是失眠洋葱为你收集整理的Kafka架构组成及基础概念的全部内容,希望文章能够帮你解决Kafka架构组成及基础概念所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部