一个topic,代表逻辑上的一个业务数据集,比如按数据库里不同表的数据操作消息区分放入不同topic,订单相关操作消息放入订单topic,用户相关操作消息放入用户topic,对于大型网站来说,后端数据都是海量的,订单消息很可能是非常巨量的,比如有几百个G甚至达到TB级别,如果把这么多数据都放在一台机器上可定会有容量限制问题,那么就可以在topic内部划分多个partition来分片存储数据,不同的partition可以位于不同的机器上,每台机器上都运行一个Kafka的进程Broker。

replica-factor指的是每一个分区有多少个副本
一般情况下,有多少个broker就设置多少个副本

replica-factor 副本因子

控制消息保存在几个broker(服务器)上,一般情况下副本数等于broker的个数。

一个broker服务下,不可以创建多个副本因子。创建主题时,副本因子应该小于等于可用的broker数。

副本因子操作以分区为单位的。每个分区都有各自的主副本和从副本;

主副本叫做leader,从副本叫做 follower(在有多个副本的情况下,kafka会为同一个分区下的所有分区,设定角色关系:一个leader和N个 follower),处于同步状态的副本叫做in-sync-replicas(ISR);

follower通过拉的方式从leader同步数据。
消费者和生产者都是从leader读写数据,不与follower交互。

副本因子的作用:让kafka读取数据和写入数据时的可靠性。

副本因子是包含本身,同一个副本因子不能放在同一个broker中。

如果某一个分区有三个副本因子,就算其中一个挂掉,那么只会剩下的两个中,选择一个leader,但不会在其他的broker中,另启动一个副本(因为在另一台启动的话,存在数据传递,只要在机器之间有数据传递,就会长时间占用网络IO,kafka是一个高吞吐量的消息系统,这个情况不允许发生)所以不会在另一个broker中启动。

如果所有的副本都挂了,生产者如果生产数据到指定分区的话,将写入不成功。

lsr表示:当前可用的副本。

在kafka中,可以这么理解topic,partition,broker相关推荐

  1. kafka中的offset理解

    offset: 一个连续的用于定位被追加到分区的每一个消息的***,最大值为64位的long大小,19位数字字符长度. 理解为类比Java中的数组,kafka里面存着消息的数组,offset类似于数组 ...

  2. kafka中处理超大消息的一些考虑

    Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试).但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多 ...

  3. kafka中Topic、Partition、Groups、Brokers概念辨析

    kafka消息队列有两种消费模式,分别是点对点模式和订阅/发布模式.具体比较可以参考Kafka基础–消息队列与消费模式. 下图是一个点对点的Kafka结构示意图,其中有以下几个部分: producer ...

  4. 8.解析Kafka中的 Topic 和 Partition

    目录 1.什么是Topic 2.什么是Partition 3.Consumer Group 消费者组 4.Topic 和 Partition 的存储 5.producer消息分发策略 6.消费者如何消 ...

  5. 解析Kafka中的 Topic 和 Partition

    topic 是逻辑上的概念,而 partition 是物理上的概念,每个 partition 对应于一个 log 文件,该 log 文件中存储的就是 producer 生产的数据 1.什么是Topic ...

  6. Kafka中topic的Partition,Kafka为什么这么快,Consumer的负载均衡及consumerGroup的概念(来自学习笔记)

    1.1. Kafka中topic的Partition  在Kafka文件存储中,同一个topic下有多个不同partition,每个partition为一个目录,partiton命名规则为topic ...

  7. kafka中topic、partition、broker、consumerGroup、consumer之间的关系、区别及存在意义

    概念理解 topic: 逻辑概念,用于联系Producer 和 Consumer的message生产和消费.Producer 生产的消息放入一个topic中,由Consumer通过对同一个topic的 ...

  8. 彻底理解kafka中partition和消费者对应关系

    1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果 消费者多于partition topic: test 只有一个partition 创建一个topic- ...

  9. Kafka 集群扩容、分区重新分配、SparkStreaming自适应上游kafka topic partition数目变化

    一.扩容场景 了解了数据迁移,我们来看下哪些场景需要进行扩容,然后有哪些方法可以实现快速扩容的效果.通常有如下两种需要紧急扩容的场景: 集群所有节点负载都高,需要快速扩容. 集群内某几台节点负载很高, ...

  10. kafka中topic默认属性_分享:Kafka 的 Lag 计算误区及正确实现

    前言 消息堆积是消息中间件的一大特色,消息中间件的流量削峰.冗余存储等功能正是得益于消息中间件的消息堆积能力.然而消息堆积其实是一把亦正亦邪的双刃剑,如果应用场合不恰当反而会对上下游的业务造成不必要的 ...

最新文章

  1. Python记录-基础语法入门
  2. ASP.NET Core 2 学习笔记(七)路由
  3. 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注...
  4. SAP的标准对话框函数
  5. 心电图前波过多_【动态心电】如何阅读24小时动态心电图?
  6. 【洛谷4001】 [ICPC-Beijing 2006]狼抓兔子(最小割)
  7. axis2 json_带有Java和Axis2的JSON Web服务
  8. 活动事务日志以及事务的类型
  9. 增量式编码器定时器配置和速度计算的处理方法
  10. linux ntp server配置文件,Linux下配置ntp server
  11. C++个人银行账户管理系统
  12. PPT使用技巧——绘制圆角曲线
  13. libjpeg实现YUV转jpeg
  14. Unity MMO游戏架构设计之角色设计二
  15. 京东、闲鱼、转转的二手战场
  16. 【shiro基础】springboot + shiro整合thymeleaf
  17. 记安装win10和deepin双系统的经过(附一些常见问题和解决方案)
  18. C、C++数组初始化,数组赋值
  19. os.path.dirname(path)
  20. 微软8月底推出网络音乐商店 全面挑战苹果

热门文章

  1. Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现
  2. 去哪儿2017校园招聘 开发工程师(第一批次)- 题解
  3. 每日一句_《定风波·暮春漫兴》
  4. ArcGIS基础:清除数据坐标系信息的操作
  5. Sizzle选择器揭秘--Sizzle过滤器
  6. UIButton水平居中、垂直居中按钮 image 和 title
  7. Excel-vba打开word文件读取内容处理并保存至word中
  8. AI之AutoML:autosklearn/Auto-Sklearn(基于scikit-learn库的自动化的机器学习工具)的简介、安装、使用方法之详细攻略
  9. 电磁场与电磁波-2-恒定电场
  10. SQL Dblink SQL