分享好友 行情首页 行情分类 切换频道
kafka 二 集群架构 幂等性 生产者写入分区策略、消费者组再均衡消费者规则、副本机制、低级 api、高级 api、Kafka-eagl监控工具、分区的leader 与follower
2024-12-26 19:35  浏览:57

目录

集群架构

幂等性

生产者写入分区策略

消费者组再均衡

消费者规则

副本机制

低级api 高级 api

Kafka-eagl监控工具

分区的leader 与follower

Ar 、ISR 、 OSR 已分配副本 同步中副本 、不同步副本

Controller

执行leader 重新分配


分区=分布式

副本=备份和数据服务-副本一般大于1 可以容错

消费者指定分区

生产者指定分区

Offset = 偏移量 存在 zookeeper 中

       可以自动提交offset 到 zookeeper

Offset 对应分区

桶 是服务器 生产者消费者链接桶

集群有多个桶注册实现负载均衡

主题多个,一个主题有多个分区

逻辑结构果审查消费都要指定topic

分区是分布式,topic 可以在多个分区中

消费组消费对应的topic配置group.id 一样消费者属于通一个组

Offset 偏移量,相对消费者,分片可以通过offset拉去数据

多个分区对应多个消费者

俩个消费者消费一个分区=一个等待一个消费

多少个分区,只能被同一个分组中多个少个消费者消费

幂等性

       防止重复一模一样数据

如果一个任务生成失败,重试,多次可能出现幂等性问题一样值

Sequence Number (递增id+PID 和生成这一起发送,kafka 检查,保存成功返回ack

Sequence Number (递增id+PID实现生产者的防止幂等性

  1. 生产者 发送到分区,kafka 保存到分区,返回一个ack ,若果失败,生产者会重新发送
  2. Kafka开启幂等性
  3. Kafka 生成消息的时候会增加一个pid 生产者唯一编号,和sequencenumber 最大消息递增
  4. 发消息会练着pid和sequence number 一块发送
  5. Kafka 接受道下次,会将消息和pid sequence number 一并保存小赖
  6. 如果ack响应失败,生产者重试,再次发送消息,kafka会根据pid和 sequence number 是否保存同一条消息
  7. 判断条件,生产者发过来的sequencenumber 是否小于等于分片中的sequence
  8. 实现防止重复

生产者写入分区策略

  1. 轮询分区
  2. 随机分区
  3. 按照key分区
  4. 自定义策略

乱序问题

Key = null 默认 轮询 规则

消费者组再均衡

  1. 消费者数量发生变化,触发
  2. 订阅主题数量发生变化,触发
  3. 订阅分区数量发生变化,触发

触发,所有消费者暂停等待,重新分配规则执行(均衡消费者

消费者规则

Range范围分配策略

8%3 3 3 2

RoundRobin 轮询

Stricky 粘性分配

       发生再分配的时候尽量和之前一样

副本机制

数据丢失,依然保证数据可用

生产者Ack  规则

  1. -1 or All  全部副本同步,再发一下一条,性能稍低一点,保证数据不丢失
  2. 0 不等待副本同步,性能最好会有概率数据丢失,性能高
  3. 1 成功写入领导分区,再发下一条(一个分区有一个领导,性能中

分区有 领导 和 随从 :

  1. 领导为了消费数据是一直的,只能从一个分区中读写消息
  2. Follower 事情做同步数据 backup

低级api 高级 api

  1. 低级api操作性更强
  2. 高级api操作内容少简单集成

Kafka-eagl监控工具

  1. KAFKA-eagle 监控集群可视化工具

EFAK

开启 kafka jmx 端口

分区的leader 与follower

  1. 每个分区都有一个leader实现均衡
  2. Follower 制作副本,leader挂掉的时候替补上去

Ar 、ISR 、 OSR 已分配副本 同步中副本 、不同步副本

  1. AR分区所有已分配副本
  2. ISR 在同步中的副本
  3. OSR 不同步副本

如果有一个节点挂掉,分区领导会渠道其他地方当上领导 保持分区总数到位

应为数据量大要保证性能所以尽快选举领导

       如此设计副本作为及时选举当上领导实现高性能

举个例子

       0、1、2 节点 三个 副本 0挂掉 0的领导会在 1 or 2 上马上出现领导,实现保证分区全在

Controller

每个桶中有一个 controller 执行api

  1. 每个节点启动都会去zk 上申请成为 controller
  2. 如果有一个节点挂掉 会再次申请 controller
  3.  

执行leader 重新分配

    以上就是本篇文章【kafka 二 集群架构 幂等性 生产者写入分区策略、消费者组再均衡消费者规则、副本机制、低级 api、高级 api、Kafka-eagl监控工具、分区的leader 与follower】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/quote/6702.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
微信视频号直播广告如何投放
我们现在发现很多企业做微信视频号的直播都要投广告了,没错,通过广告定向投放人群能将精准客户吸引到直播间,再通过主播的带货
IE浏览器软件哪个好 常用的IE浏览器软件排行
在这篇文章中,我们将深入探讨IE浏览器软件的热门选择及其在市场上的常用排行。无论是经典版本还是后续更新,你会了解到哪些浏览
Windows Phone 上的触控手势
下载代码示例当然,对于一种相对仍很年轻的技术来说,存在这么多的触控 API 也不足为奇。而且,多点触控比鼠标要复杂得多。这部
六年级上册16课夏天里的成长评课稿听课记录
六年级上册16课夏天里的成长评课稿听课记录一、读单元页,明确任务师:今天我们来学习第五单元,第五单元是一个习作单元。在这一
影视解说文案自动生成器-影视解说文案自动生成器2.50
在数字化时代的浪潮下,影视行业迎来了前所未有的发展机遇。随着影视作品的增多,怎样为这些作品打造出引人入胜的解说文案,成为
适合发朋友圈的句子大全11篇
【#好词好句# #适合发朋友圈的句子大全11篇#】旅行可以放松自己的心情,宽阔自己的心境,忘掉不顺心,迎接新的开心。旅行是在寻
从零开始学OPERA操作系统
1、房间查找 包括以下内容房间的状态分10种类型所有房间干净,经主管检查有问题,待查房干净房脏房一 快捷键的操作1 F1 OPERA HE
生成式AI为高级分析提供了新的可能性
生成式人工智能(genai) 的出现为工业过程分析带来了令人兴奋的新前景。这项变革性技术可以根据用户的提示生成新的文本、代码和图
阿里P9的真实生活!年薪300万却活得像穷人,依然生活在温饱线上……
  阿里巴巴是许多人梦想的工作地方。  在阿里,P9的年薪甚至高达300万。  他说,他的生活标准,其实并不高,只是跟随着收
本企业新闻
推荐企业新闻
发表评论
0评