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

kafka消息可靠性

为什么80%的码农都做不了架构师?>>>   hot3.png

Kafka有三种可能的delivery guarantee,分别是:

  1. At most once 消息可能会丢,但绝不会重复传输
  2. At least one 消息绝不会丢,但可能会重复传输
  3. Exactly once 每条消息肯定会被传输一次且仅传输一次。 producer在向broker发送一条消息时,有可能因为网络出错而导致producer不知道broker是否接收到了这条消息。网络错误可能发生在消息传递中,也有可能是broke收到消息之后将acks返回producer过程中。所以这时候producer会进行重发消息,但有可能会导致重复,保证了At least one。但在Kafka0.11.0的版本通过给每个producer一个唯一ID,并且在每条消息中生成一个sequence num,这样就能对消息去重,达到producer端的exactly once。 这边还涉及到一个acks值的设置: 1.acks=0,表示producer不会等待broker的相应,所以,producer无法知道消息是否发生成功,这样有可能导致数据丢失,但同时,acks值为0会得到最大的系统吞吐量。 2.acks=1,表示producer会在leader partition收到消息时得到broker的一个确认,这样会有更好的可靠性,因为客户端会等待知道broker确认收到消息。 3.acks=all(-1),producer会在所有备份的partition收到消息时得到broker的确认,这个设置可以得到最高的可靠性保证,但是影响吞吐量。

转载于:https://my.oschina.net/134596/blog/1634245

相关文章:

  • Web 页面性能分析笔记
  • 人工智能会不会变成终结者,这事儿人工智能自己说了不算
  • 二.压缩指令的应用
  • 用一个实际例子理解Docker volume工作原理
  • mysql only_full_group_by
  • Spring基于Scheduler的定时任务模块
  • 2015年高交会又有什么值得期待的黑科技?
  • bootstrap重置项 及响应式版心 row类清除margin
  • 网路通信问题收集
  • 【译】Vue 的小奇技(第八篇):两个鲜有人知的 Vuex 技巧
  • AI 芯片,是金山还是泡沫?
  • 友情链接有什么用
  • Ansible杂记(2)
  • crontab详解
  • call、apply、bind的用法
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • es6
  • mac修复ab及siege安装
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • use Google search engine
  • Zepto.js源码学习之二
  • 电商搜索引擎的架构设计和性能优化
  • 和 || 运算
  • 开源地图数据可视化库——mapnik
  • 力扣(LeetCode)56
  • 深入浅出webpack学习(1)--核心概念
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 硬币翻转问题,区间操作
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​水经微图Web1.5.0版即将上线
  • ​一些不规范的GTID使用场景
  • #每日一题合集#牛客JZ23-JZ33
  • (07)Hive——窗口函数详解
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (新)网络工程师考点串讲与真题详解
  • (一)认识微服务
  • (转)iOS字体
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .Mobi域名介绍
  • .NET 反射 Reflect
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET的微型Web框架 Nancy
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [] 与 [[]], -gt 与 > 的比较
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [HNOI2008]水平可见直线
  • [iOS]iOS获取设备信息经常用法
  • [javascript]Tab menu实现
  • [Luogu P3527BZOJ 2527][Poi2011]Meteors(整体二分+BIT)