Kafka 基本概念学习笔记
一. 什么是Kafka
面向数据流的生产,转换,存储,消费的整体流处理平台
二、Kafka三大特性
1、发布和订阅数据的流,类似于消息队列,消息系统
2.、数据流存储平台
3、当数据产生的时候,对数据处理
三、Kafka应用于
1. 构建数据流管道,应用直接有比较强的应用关系
2、构建实时数据处理应用,能够转换或者响应数据流
四 Kafka基本概念
Producer:消息和数据的生产者,向Kafka的一个topic发布消息的进程/代码/服务
Consumer: 消息和数据的消费者,订阅数据(Topic)并且处理发布的消息的进程/代码/服务
Consumer Group:逻辑概念,对于同一个topic,会广播给不同的group,一个group中,只有一个consumer可以消费该消息。
Broker:物理概念,Kafka集群中的每个Kafka节点
Topic:逻辑概念,Kafka消息的类别,对数据进行区分、隔离
Partition:物理概念,Kafka下数据储存的基本单元。一个Topic数据,会被分散存储到多个Partition,每一个Partition是有序的。
1)每一个Topic被切分为多个Partitions
2)消费者数目少于或等于Partition的数目
3)Broker Group中的每一个Broker保存Topic的一个或多个Partitions
4)Consumer Group中的仅有一个Consumer读取Topic的一个或者多个Partitions,并且是唯一的Consumer
Replication:同一个Partition可能会有多个Replica,多个Replica之间数据是一样的
1)当集群中的有Broker挂掉的情况,系统可以主动的使用Replicas提供服务
2)系统默认设置每一个Topic的replication系数为1,可以在创建Topic时单独设置
Replication特点
1)Replication的基本单位是Topic的Partition
2)所有的读和写多从Leader进,Followers只是做为备份
3)Follower必须能够及时复制Leader的数据
4) 增加容错性与可扩展性
Replication Leader:一个Partition的多个Replica上,需要一个Leader负责该Partition上与Producer和Consumer交互
ReplicaManager:负责管理当前broker所有分区和副本的信息,处理KafkaController发起的一些请求,副本状态的切换、添加/读取消息等。
五、Kafka基本结构
Producer Api
Consumer Api
Streams Api
Connectors Api


六、Kafka消息结构

七、Kafak特点
分布式
多分区
多副本
多订阅者
基于Zookeeper调度
高性能
高吞吐量
低延迟
高并发
时间复杂度为O(1)
持久性和可扩展性
数据可持久化
容错性
支持在线水平扩展
消息自动平衡
Kafka 基本概念学习笔记的更多相关文章
- 操作系统概念学习笔记 10 CPU调度
操作系统概念学习笔记 10 CPU调度 多道程序操作系统的基础.通过在进程之间切换CPU.操作系统能够提高计算机的吞吐率. 对于单处理器系统.每次仅仅同意一个进程执行:不论什么其它进程必须等待,直到C ...
- SpringCloud基础概念学习笔记(Eureka、Ribbon、Feign、Zuul)
SpringCloud基础概念学习笔记(Eureka.Ribbon.Feign.Zuul) SpringCloud入门 参考: https://springcloud.cc/spring-cloud- ...
- kafka实战读书笔记
1.katka_2.12-l.0.0.tgz 上面两个文件中的 2.11 /2.12 分别表示编译 Kafka 的 Scala 语言版本,后面的 1.0 .0 是 Kafka的版本 . 2.kafka ...
- kafka常用命令笔记
0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ./kafka-topics.sh ...
- KAFKA官方教程笔记-introduction
为什么80%的码农都做不了架构师?>>> 介绍 apache kafka是一个分布式流式处理平台,一个流式平台该有的三个关键能力: 发布.订阅流式数据.从这个角度讲类似消息队列或 ...
- http实现方式概念学习笔记
web概念:web1.0:静态页面为主,门户新闻.企业宣传web2.0:动态页面为主,用户参与,bbs,blog,sns,微博 web3.0:web2.0基础上,智能化,人性化, ...
- java封装的概念学习笔记
继承.封装.多态.抽象是面向对象编程的四大基本概念,其中封装装为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装. 在面向对象中封装 ...
- 操作系统概念学习笔记三 cpu调度算法
一 基本概念 1 队列中的记录通常是进程的进程控制块. 2 CPU调度决策可在如下四种环境下发生 a 当一个进程从运行状态切换到等待状态 例如,I/O请求或调用wait以等待一个子进程的终止 b 党一 ...
- MEF基础概念学习笔记
MEF,是微软.net框架下的一个框架类库.可以使你的程序低耦合的加载扩展.在开发插件,或者开发一些需要灵活扩展的功能的时候经常用到.例如微软给出的计算器的例子.当你开发计算器的时候,初始功能只提供了 ...
随机推荐
- ios九宫格算法
- (void)viewDidLoad { [super viewDidLoad]; //1.总列数(一行最多3列) ; CGFloat appW=; CGFloat appH=; //2.间隙=(控 ...
- python 递归函数操作方法
.递归 是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象.在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知.使用递归解决问题,思路清晰,代码少.但是在主流 ...
- python编码问题分析
本文首先简要介绍编码转换的基本原理,然后针对字符串处理.文件读写的两个实例,具体分析编码问题的处理方式. 1.编码转换的基本原理 我们知道,只有在面对中文.日文等编码字符(以下均以中文字符为例)时,才 ...
- java学习笔记18(基本类型包装类,system类)
基本类型包装类 定义:程序界面用户输入的数据都是以字符串类型存储的,如果需要操作这些字符串进行运算,需要转成基本数据类型,这时就要用到基本类型包装类,例: public class Demo { pu ...
- Python socket简单操作
#服务端:#导入socket模块 import socket #创建socket对象,创建了一个手机 server = socket.socket() #给程序设置一个ip地址和端口号,买了个手机卡 ...
- win10自动锁屏问题
电源管理里面无论如何设置自动关闭屏幕时间.自动睡眠和休眠的时间,以及关闭屏保等,在2分钟(确切是2分多一点)后电脑自动睡眠. 这是系统无人值守时睡眠时间的设定,默认是两分钟.解决方法:1.运行注册表管 ...
- 启动mongodb出现的问题
启动mongodb时,首先要启动服务端,然后再启动客户端 启动服务端 1.找到一个存放mongodb数据的目录 比如D盘下data中 2.找到mongodb下的bin目录 3.配置数据存放路径 m ...
- [转]Skynet之斗转星移 - 将控制权交给Lua
Skynet之斗转星移 - 将控制权交给Lua http://www.outsky.org/code/skynet-lua.html Sep 7, 2014 在我看来,Skynet的一个重要优势是 ...
- php在foreach中使用引用赋值&可能遇到的问题(转)
楼主在写项目的时候,由于初涉PHP的赋值引用操作,觉得这个功能非常强大,用时一时爽,没有深入了解过其中的原理,导致了一些当时觉得不可思议的BUG,废话不都说,我举个例子详细的描述一下这个问题. 代码: ...
- HDU - 5201 :The Monkey King (组合数 & 容斥)
As everyone known, The Monkey King is Son Goku. He and his offspring live in Mountain of Flowers and ...