博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kafka的基础原理
阅读量:5334 次
发布时间:2019-06-15

本文共 789 字,大约阅读时间需要 2 分钟。

一、Kafka的基础特点

1、消息系统有两种模型(队列和发布订阅)。kafka使用消费者组统一了上述的两种模型。

同一个消费者组内的消费者之间是队列模型。不同的消费者组之间是订阅模型。

二、kafka中zookeeper的作用

1、管理broker和consumer

  zookeeper用来存储kafka集群的元数据信息

2、不管理producer

三、kafka的生产者流程  

在正常情况下,Kafka中的每个Topic都会有很多个分区,每个分区又会存在多个副本。在这些副本中,存在一个leader分区,而剩下的分区叫做 follower,所有对分区的读写操作都是对leader分区进行的。所以当我们向Kafka写消息或者从Kafka读取消息的时候,必须先找到对应分区的Leader及其所在的Broker地址,这样才可以进行后续的操作。本文将要介绍的就是 Kafka 是如何找到 leader 分区的。

由于Producer和Consumer都只会与Leader角色的分区副本相连,所以kafka需要以集群的组织形式提供主题下的消息高可用。kafka支持主备复制,所以消息具备高可用和持久性。

生产者客户端也可以配置某种算法用来规划消息发往那个partiton。

四、kafka的消费者流程

 五、kafka的controller

kafka会从所有的broker中选取一个broker作为controller。

参考文献:

kafka源码分析:

kafka生产者:

kafka消费者:

kafka如何寻找leader分区:

kafka设计原理:

kafka的配置:

kafka消息系统:

kafka的原理和特性:

kafka的元数据管理:

kafka知识点详解:

转载于:https://www.cnblogs.com/erdanyang/p/11063539.html

你可能感兴趣的文章
iOS resign code with App Store profile and post to AppStore
查看>>
python 表格操作
查看>>
LeetCode 84. Largest Rectangle in Histogram
查看>>
LeetCode Two Sum III - Data structure design
查看>>
session和xsrf
查看>>
Cookie与Session
查看>>
配置redis外网可访问
查看>>
跟随大神实现简单的Vue框架
查看>>
Linux目录结构
查看>>
learning awk
查看>>
LeetCode-Strobogrammatic Number
查看>>
luoguP3414 SAC#1 - 组合数
查看>>
五一 DAY 4
查看>>
关于System.__ComObject一些问题
查看>>
java stringbuffer二
查看>>
[hihoCoder] 拓扑排序·一
查看>>
(转)接口测试用例设计(详细干货)
查看>>
js Math对象方法 (个人学习笔记)
查看>>
helm-chart-2-chart结构和简单模板
查看>>
转载Repository 和Unit of work的使用说明
查看>>