当前位置: 首页 > news >正文

Kafka 入门到起飞 - 生产者参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR?

上回书我们讲了,生产者发送消息流程解析传送门

那么这篇我们来看下,生产者发送消息时几个重要的参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR?

参数:

bootstrap.servers : Kafka 集群地址 host1:port1,host2:port2,host3:port3
不需要写Kafka集群中全部的broker地址,但是也不要写一个,2-3个即可,防止节点宕机时集群不可用
key.serializer: key 的序列化器 ,指定key怎么转换成字节数组

value.serializer: value的序列化器 ,指定value怎么转换成字节数组

compression type: 默认值:none,对批次消息进行压缩的方式,gzip,snappy、lz4等

retries : 设置重试次数,消息重试存在乱序的可能
max.in.flight.requests.per.connection = 1 可以解决乱序问题,对于当前连接,有一个等待确认的消息,不会再发送后面消息,即确认一个发送一个,保证消息的有序性

什么是生产者确认机制?

我们在生产者发送消息时可以指定acks参数值,来决定收到消息发送后什么样的确认即可继续发送后面的消息

acks : 生产者发送消息确认机制
acks = 0 : 生产者不等broker确认,不断发送消息,发送消息快,允许丢消息,只要将消息放到了socket的缓冲区,就认为消息已发送成功
acks = 1: 默认值,允许少量消息丢失,broker上leader分区写入消息即返回生产者消息确认,不等待follower副本分区的确认,这种情况下,存在消息丢失的风险
acks = all : 确保消息不丢失,最强可用性,保证所有(ISR)同步副本分区都同步成功消息才返回生产者确认消息

什么是ISR? 什么是 OSR?

ISR (In-Sync Replicas): 同步副本

在一定时间内和leader保持数据同步的副本列表,这句话可以看到副本保持在ISR集合中需要两个条件,一定时间内 和 与leader副本保持数据同步
1、rerplica.lag.time.max.ms=10000 参数设置follower副本向ISR发送心跳的最大延迟时间,默认10s 也就是说10s内follower还没有向leader去同步数据,就会认为这个副本不行了,将它踢出ISR
2、rerplica.lag.max.messages=4000 参数设置消息的最大延迟条数,就是如果follower比leader消息数少4000条以上,就认为这个副本不行了,将它踢出ISR
在Kafka高版本中,取消了条件2的限制

OSR (Out-of-Sync Replicas): 非同步副本

从上面ISR中剔除的副本将会被放到OSR中,当OSR中副本满足ISR的条件,会重新加入到ISR中

值得注意的是,上面生产者确认机制中说到的副本同步,指的是ISR中的副本,并不包括OSR中的副本

相关文章:

Kafka 入门到起飞 - 生产者参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR?

上回书我们讲了,生产者发送消息流程解析传送门 那么这篇我们来看下,生产者发送消息时几个重要的参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR? 参数: bootstrap.servers : Kafka 集…...

【文献分享】比目前最先进的模型轻30%!高效多机器人SLAM蒸馏描述符!

论文题目:Descriptor Distillation for Efficient Multi-Robot SLAM 中文题目:高效多机器人SLAM蒸馏描述符 作者:Xiyue Guo, Junjie Hu, Hujun Bao and Guofeng Zhang 作者机构:浙江大学CAD&CG国家重点实验室 香港中文大学…...

【数据动态填充到element表格;将带有标签的数据展示为文本格式】

一&#xff1a;数据动态填充到element表格&#xff1b; 二&#xff1a;将带有标签的数据展示为文本格式&#xff1b; 1、 <el-row><el-col :span"24"><el-tabs type"border-card"><el-tab-pane label"返回值"><el-…...

小程序轮播图的两种后台方式(PHP)--【浅入深出系列008】

微信目录集链接在此&#xff1a; 详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰ 不会导入/打开小程序的看这里&#xff1a;参考 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 文章目录 本系列校训学习资源的选择啥是轮播图轮播…...

使用ComPDFKit PDF SDK 构建iOS PDF阅读器

在当今以移动为先的世界中&#xff0c;为企业和开发人员创建一个iOS应用程序是必不可少的。随着对PDF文档处理需求的增加&#xff0c;使用ComPDFKit这个强大的PDF软件开发工具包&#xff08;SDK&#xff09;来构建iOS PDF阅读器和编辑器可以让最终用户轻松查看和编辑PDF文档。 …...

一套流程6个步骤,教你如何正确采购询价

采购询价&#xff08;RFQ&#xff09;是一种竞争性投标文件&#xff0c;用于邀请供应商或承包商就标准化或重复生产的产品或服务提交报价。 询价通常用于大批量/低价值项目&#xff0c;买方必须提供技术规格和商业要求&#xff0c;该文件有时也称为招标书或投标邀请书。询价流…...

git使用

常用命令 git init git库初始化&#xff0c;初始化后会在文件中出现一个.git的隐藏文件 git clone 从远程克隆仓库 git pull 从远程库中拉取 git commit 将暂存提交到本地仓库 git push 提交本地仓库到远程 git branch 查看当前分支 git branch <branchName> 切换分支 …...

SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》

首先了解一下单机环境 第一步&#xff0c;搭建一个 Elasticsearch 服务。第二步&#xff0c;下载 SkyWalking 软件包。第三步&#xff0c;搭建一个 SkyWalking OAP 服务。第四步&#xff0c;启动一个 Spring Boot 应用&#xff0c;并配置 SkyWalking Agent。第五步&#xff0c;…...

Rabbit MQ整合springBoot

一、pom依赖二、消费端2.1、application.properties 配置文件2.2、消费端核心组件 三、生产端3.1、application.properties 配置文件2.2、生产者 MQ消息发送组件四、测试1、生产端控制台2、消费端控制台 一、pom依赖 <dependency><groupId>org.springframework.boo…...

Golang 中的 time 包详解(一):time.Time

在日常开发过程中&#xff0c;会频繁遇到对时间进行操作的场景&#xff0c;使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包&#xff0c;本文先讲解一下 time 包中的结构体 time.Time。 time.Time time.Time 类型用来表示一个…...

CMU 15-445 -- Database Recovery - 18

CMU 15-445 -- Database Recovery - 18 引言ARIESLog Sequence NumbersNormal ExecutionTransaction CommitTransaction AbortCompensation Log Records Non-fuzzy & fuzzy CheckpointsSlightly Better CheckpointsFuzzy Checkpoints ARIES - Recovery PhasesAnalysis Phas…...

HTTP Header定制,客户端使用Request,服务器端使用Response

在服务器端通过request.getHeaders()是无效的&#xff0c;只能使用response.getHeaders()。 Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType mediaType,Class selectedConverterType, ServerHttpRequest request, ServerHttpRespo…...

Vue 3编写的父子组件示例,包括传递数据和调用父组件方法

下面是一个使用Vue 3编写的父子组件示例&#xff0c;包括传递数据和调用父组件方法&#xff1a; ChildComponent.vue&#xff1a; <template><div><p>Child Component</p><p>Message: {{ message }}</p><button click"updateMes…...

[ 容器 ] Docker 的数据管理

目录 一、Docker 的数据管理1.1 数据卷2. 数据卷容器 二、 端口映射三、容器互联&#xff08;使用centos镜像&#xff09;四、Docker 镜像的创建1&#xff0e;基于现有镜像创建2&#xff0e;基于本地模板创建3&#xff0e;基于Dockerfile 创建3.1 联合文件系统&#xff08;Unio…...

【环境配置】使用Docker搭建LAMP环境

这篇文章不是介绍DOCKER是什么&#xff0c;也不是阐述DOCKER的核心&#xff1a;镜像/容器和仓库之间的关系,它只是一篇让刚刚接触DOCKER的初学者&#xff0c;在没有完全了解DOCKER是什么之前,也能尽快的在Linux系统下面通过DOCKER来搭建一个LAMP环境&#xff0c;这是其一&#…...

MLIR (Multi-Level Intermediate Representation)

MLIR&#xff08;Multi-Level Intermediate Representation&#xff09;是一种多级中间表示的编译器基础架构&#xff0c;旨在提供通用的、可扩展的编译器基础设施。它最初由谷歌开发&#xff0c;并且现在已经成为一个开源项目&#xff0c;受到广泛关注和采用。 MLIR 的设计理…...

VR全景在酒店的发展状况如何?酒店该如何做营销?

现阶段&#xff0c;VR全景技术已经被酒店、民宿、旅游景区、房产楼盘、校园等行业所应用&#xff0c;每天都有不少人通过VR全景展示来了解酒店的设施环境&#xff0c;而酒店也可以借此机会&#xff0c;详细展示自身优势&#xff0c;更大范围吸引顾客。 VR酒店拥有真实、立体的全…...

Winform使用PictureBox控件显示图片并且自适应

一.首先我们只需要在项目文件中的/bin/Debug 下面创建一个文件夹保存你的照片。我这里文件夹名字叫Resources.。如图&#xff1a; 二. 然后我们把我们的照片放入Resources文件夹中即可。如图&#xff1a; 三.在构造器中添加picturebox控件。如图&#xff1a; 四.我们到初始化代…...

HTML中的焦点管理

前言 焦点作为页面交互中的重要一环&#xff0c;涉及到的知识点也比较多&#xff0c;有必要做一个统一的总结。 HTML 中的可获取焦点的元素 具有 href 属性的 HTMLAnchorElement/HTMLAreaElement非禁用态的 HTMLInputElement/HTMLSelectElement/HTMLTextAreaElement/HTMLBut…...

如何区分接口测试和功能测试

接口测试和功能测试的区别&#xff1a; 2023最新Jmeter接口测试从入门到精通&#xff08;全套项目实战教程&#xff09; 本文主要分为两个部分&#xff1a; 第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者…...

RTX4090D优化版Qwen3-32B+OpenClaw实战:低成本构建个人AI工作流

RTX4090D优化版Qwen3-32BOpenClaw实战&#xff1a;低成本构建个人AI工作流 1. 为什么选择本地部署大模型OpenClaw组合 去年我开始尝试用AI自动化处理日常工作&#xff0c;最初直接调用公有云API&#xff0c;但很快遇到三个痛点&#xff1a;一是敏感文件不敢上传第三方服务&am…...

Flac3d6.0源代码(含巷道开挖、支护与充填开采三组代码)直接导入运行版,附汉语注释说明

Flac3d6.0源代码&#xff0c;用于巷道支护&#xff0c;煤层开采和充填&#xff0c;代码可直接导入运行&#xff0c;并有汉语注释说明每句代码含义&#xff0c;适合初学者用来学习。 直接联系。 包含三组代码&#xff1a; &#xff08;1&#xff09;巷道开挖&#xff1a;研究巷道…...

【无线通信】多载波无线通信系统设计Matlab仿真

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f34a;个人信条&#xff1a;格物致知,完整…...

【嵌入式】第2讲:USB CDC 从“插上电脑”到“出现 COM 口”,枚举过程到底发生了什么

好&#xff0c;进入第 2 讲。 第2讲&#xff1a;USB CDC 从“插上电脑”到“出现 COM 口”&#xff0c;枚举过程到底发生了什么 后面调试时&#xff0c;最常见的问题不是“代码编译不过”&#xff0c;而是&#xff1a; 插上电脑没反应设备管理器里看不到东西有未知设备&…...

国标参考文献高效排版解决方案:零门槛工具助你轻松应对学术写作

国标参考文献高效排版解决方案&#xff1a;零门槛工具助你轻松应对学术写作 【免费下载链接】gbt7714-bibtex-style GB/T 7714-2015 BibTeX Style 项目地址: https://gitcode.com/gh_mirrors/gb/gbt7714-bibtex-style 1. 解决国标排版痛点的3个核心优势 学术写作中&…...

Claude Code 常用技巧:这几个操作让我开发效率翻倍

Claude Code 常用技巧&#xff1a;这几个操作让我开发效率翻倍 说实话&#xff0c;用 Claude Code 差不多也有小半年了&#xff0c;从一开始"就这&#xff1f;"的怀疑&#xff0c;到现在每天开工第一件事就是把它招呼进来&#xff0c;中间踩了不少坑&#xff0c;也真…...

智慧树网课效率工具:自动化播放与倍速控制插件全解析

智慧树网课效率工具&#xff1a;自动化播放与倍速控制插件全解析 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 在当今在线学习环境中&#xff0c;智慧树作为主流教育…...

数仓分层设计避坑指南:从ODS到ADS,我的团队踩过的5个典型雷区与优化方案

数仓分层设计避坑指南&#xff1a;从ODS到ADS&#xff0c;我的团队踩过的5个典型雷区与优化方案 三年前接手公司数据中台重构项目时&#xff0c;我们团队曾天真地认为数仓分层不过是教科书式的流程化操作。直到某次大促期间&#xff0c;凌晨三点被警报吵醒——ADS层报表查询超时…...

Qwen3.5-9B训练复现:从SFT到RLHF的全流程开源实践指南

Qwen3.5-9B训练复现&#xff1a;从SFT到RLHF的全流程开源实践指南 1. 项目概述 Qwen3.5-9B是一个拥有90亿参数的开源大语言模型&#xff0c;具备强大的逻辑推理、代码生成和多轮对话能力。该模型支持多模态理解&#xff08;图文输入&#xff09;和长上下文处理&#xff08;最…...

Pixel Aurora Engine 赋能内容运营:社交媒体图文批量创作方案

Pixel Aurora Engine 赋能内容运营&#xff1a;社交媒体图文批量创作方案 1. 新媒体运营的配图痛点 每天打开电脑&#xff0c;新媒体运营小李都要面对同样的挑战&#xff1a;今天发什么图&#xff1f;从封面到内文配图&#xff0c;再到各种节日节气海报&#xff0c;原创设计根…...