一. 什么是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 基本概念学习笔记的更多相关文章

  1. 操作系统概念学习笔记 10 CPU调度

    操作系统概念学习笔记 10 CPU调度 多道程序操作系统的基础.通过在进程之间切换CPU.操作系统能够提高计算机的吞吐率. 对于单处理器系统.每次仅仅同意一个进程执行:不论什么其它进程必须等待,直到C ...

  2. SpringCloud基础概念学习笔记(Eureka、Ribbon、Feign、Zuul)

    SpringCloud基础概念学习笔记(Eureka.Ribbon.Feign.Zuul) SpringCloud入门 参考: https://springcloud.cc/spring-cloud- ...

  3. kafka实战读书笔记

    1.katka_2.12-l.0.0.tgz 上面两个文件中的 2.11 /2.12 分别表示编译 Kafka 的 Scala 语言版本,后面的 1.0 .0 是 Kafka的版本 . 2.kafka ...

  4. kafka常用命令笔记

    0.查看有哪些主题: ./kafka-topics.sh --list --zookeeper 192.168.0.201:12181 1.查看topic的详细信息 ./kafka-topics.sh ...

  5. KAFKA官方教程笔记-introduction

    为什么80%的码农都做不了架构师?>>>   介绍 apache kafka是一个分布式流式处理平台,一个流式平台该有的三个关键能力: 发布.订阅流式数据.从这个角度讲类似消息队列或 ...

  6. http实现方式概念学习笔记

    web概念:web1.0:静态页面为主,门户新闻.企业宣传web2.0:动态页面为主,用户参与,bbs,blog,sns,微博            web3.0:web2.0基础上,智能化,人性化, ...

  7. java封装的概念学习笔记

      继承.封装.多态.抽象是面向对象编程的四大基本概念,其中封装装为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装. 在面向对象中封装 ...

  8. 操作系统概念学习笔记三 cpu调度算法

    一 基本概念 1 队列中的记录通常是进程的进程控制块. 2 CPU调度决策可在如下四种环境下发生 a 当一个进程从运行状态切换到等待状态 例如,I/O请求或调用wait以等待一个子进程的终止 b 党一 ...

  9. MEF基础概念学习笔记

    MEF,是微软.net框架下的一个框架类库.可以使你的程序低耦合的加载扩展.在开发插件,或者开发一些需要灵活扩展的功能的时候经常用到.例如微软给出的计算器的例子.当你开发计算器的时候,初始功能只提供了 ...

随机推荐

  1. JAVA_全局配置文件(配置网址,url等等)_第一种方式

    一.概述 当使用httpClient调其他系统接口时,需要通过地址来发送post请求. 这时我们有不同的环境,那么就有两个问题. 1是地址不能写在代码中,而是要写在配置文件. 2是不同环境配置文件应该 ...

  2. HDU 3130 17多校7 Kolakoski(思维简单)

    Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This seq ...

  3. chrome插件 - Manifest文件中的 background

    在Manifest中指定background域可以使扩展常驻后台. background可以包含三种属性,分别是scripts.page和persistent. 如果指定了scripts属性,则Chr ...

  4. Server SSL certificate verification failed: certificate has expired, issuer is not trusted

    Unable to connect to a repository at URL 'https://xxxxx/svn/include' Server SSL certificate verifica ...

  5. 如何通过创建切片器窗格节省PowerBI报告空间

    许多用户在使用Power BI的过程中,都会有这么一个困扰:在Power BI 开发中,切片器一旦过多就会占用非常多的空间.发生这种情况时,您显示数据的页面也会更加小.但另一方面,如果您没有切片器,报 ...

  6. JavaScript中HTML DOM focus()与onblur() setSelectionRange()用法

    今天在写一个todolist待办事项项目,需要单击编辑待办事项的内容,百度搜了一下这几个方法的用法,总结一下 focus()方法:获得键盘焦点,单击之后就调用绑定的js方法,在span标签里面加一个输 ...

  7. tmux不自动加载配置文件.tmux.conf

    /********************************************************************** * tmux不自动加载配置文件.tmux.conf * ...

  8. camp待补

    待修莫对 序列自动机 几何积分 沈阳 M 待删除背包  : 分组背包 K-LIS, K次二分(插到最后stop) 问题转化为LIS bzoj2131 hdu4055 最小线段覆盖环 实时路况 分治+f ...

  9. ACM-ICPC 2018 沈阳赛区网络预赛-D:Made In Heaven(K短路+A*模板)

    Made In Heaven One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with her. ...

  10. Python基础练习及答案

    1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain'] 该题目主要是考的字符串的拼接,join方法, s = "" li ...