论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
大数据
›
数据仓库与分析
›
大数据-53 Kafka 基本架构焦点概念 Producer Consumer B ...
大数据-53 Kafka 基本架构焦点概念 Producer Consumer Broker Topic Partit ...
郭卫东
金牌会员
|
2024-8-19 23:33:01
|
显示全部楼层
|
阅读模式
楼主
主题
928
|
帖子
928
|
积分
2784
点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
Hadoop(已更完)
HDFS(已更完)
MapReduce(已更完)
Hive(已更完)
Flume(已更完)
Sqoop(已更完)
Zookeeper(已更完)
HBase(已更完)
Redis (已更完)
Kafka (正在更新…)
章节内容
上节我们完成的内容:
生产斲丧结构
Kafka 基本概念介绍
Kafka 斲丧模式
Kafka 焦点API 介绍
Kafka 上风
Kafka 基本架构
焦点概念
Producer
生产者创建消息。
该角色将消息发布到Kafka的Topic中,Broker吸收到生产者的消息之后,Broker将消息追加到当前的 segment 文件中。
一样平常情况下,一个消息会被发布到一个特定的主题上:
默认情况下通过轮询把消息均衡的发布到主题的全部分区上
在某些情况下,生产者会把消息直接写到指定的分区,这通常是通过消息键和分区器来实现的,分区器为键的一个散列值,并将其映射到指定的分区上。这样可以保证同一个键的消息会被写到同一个分区上。
生产者也可以利用自定义分区器,根据不同的业务规则将消息映射到分区。
Consumer
斲丧者读取消息
斲丧者订阅一个或者多个主题,并按照消息天生顺序读取它们
斲丧者通过检查消息偏移量来区分已经读过的消息,偏移量是另一种元数据,它是一个不绝递增的整数值,在创建消息时,Kafka会把它添加到消息里。在给定的分区里,每个消息的偏移量都是唯一的。斲丧者把每个分区末了读取的消息偏移量生存在ZooKeeper或Kafka上。
斲丧者是斲丧组的一部分,群组保证每个分区只能被同一个斲丧者利用。
如果一个斲丧者失效,斲丧组里的其他斲丧者可以接受失效斲丧者的工作,再平衡,分区重新斲丧。
Broker
一个独立的Kafka服务器称为Broker
如果某Topic有N个Partition,集群有N个Broker,每个Broker存储该Topic的一个Partition
如果某Topic有N个Partition,集群有(N+M)个Broker,那么其中有N个Broker存储该Topic的一个Partition
如果某Topic有N个Partition,集群中Broker数目少于N个,那么一个Broker存储该Topic的一个或多个Partition。在实际的生产环境中,尽量避免这种情况的发生,这种情况很容易导致Kafka集群数据不平衡。
Topic
每条发布到Kafka集群的消息都有一个种别,这个种别被称为Topic。
物理上不同的Topic的消息分开存储
主题就比如数据库的表,尤其是分库分表之后的逻辑表。
Partition
主题可以被分为若干个分区,一个分区就是一个提交日志
消息以追加的方式写入分区,然后以先入先出的顺序读取
无法在整个主题范围内保证消息的有序,但可以保证消息在单个分区内的顺序
Kafka通太过区来实现数据冗余和伸缩性
在需要严酷保证消息的顺序的场景下,需要将Partition数目设置为1
Replicas
Kafka利用主题来组织数据,每个主题被分为若干个分区,每个分区有多个副本,那些副本被生存在Broker上,每个Broker可以生存成百上千属于不同主题和分区的副本。
副本有以下的两种范例:
首领副本:每个分区都有一个首领副本,为了保证一致性,全部生产者哀求和斲丧者哀求都会颠末这个副本。
跟随者副本:首领以外的副本都是跟随副本,跟随者副本不处理处罚来自客户端的哀求,它们唯一的任务就是从首领那里复制消息,保持与首领一致的状态。如果首领发生奔溃,其中一个跟随者就会被提升为新首领。
Offset
生产者
消息写入的时候,每一个分区都有一个Offset,这个Offset就是生产者的Offset,同时也是这个分区的最新最大的Offset。
有些时候没有指定某一个分区的Offset,这个工作Kafka帮我们完成。
斲丧者
这是某个分区的Offset情况,生产者写入的Offset是最新最大值12,当ConsumerA进行斲丧时,从0开始斲丧,不绝斲丧到9,斲丧者的Offset就纪录9,ConsumerB就纪录在11。
等下一次斲丧的时候,他们可以选择从上一次斲丧的位置斲丧,也可以从头开始斲丧。
副本
Kafka通过副原来保证高可用,副天职为:首领副本(Leader)和跟随者副本(Follower)。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
郭卫东
金牌会员
这个人很懒什么都没写!
楼主热帖
SQL的约束
界面组件DevExpress ASP.NET Core v21. ...
Cilium 系列-3-Cilium 的基本组件和重 ...
ASP.NET Core MVC 从入门到精通之HttpC ...
vue 详情页返回列表,过滤查询条件保留 ...
Java语言在Spark3.2.4集群中使用Spark ...
用python对美女内容采集,舞蹈区内容真 ...
JS基础二--字面量和变量
mysql5.7.35安装配置教程【超级详细安 ...
拦截|篡改|伪造.NET类库中不限于public ...
标签云
存储
服务器
快速回复
返回顶部
返回列表