千家信息网

消息队列之kafka(消费语义)

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,1. 消费语义的介绍   at last once:至少消费一次(对一条消息有可能多次消费,有可能会造成重复消费数据)     原因:Proudcer产生数据的时候,已经写入在broker中,但是由于
千家信息网最后更新 2025年12月03日消息队列之kafka(消费语义)

1. 消费语义的介绍

   at last once:至少消费一次(对一条消息有可能多次消费,有可能会造成重复消费数据)
     原因:Proudcer产生数据的时候,已经写入在broker中,但是由于broker的网络异常,没有返回ACK,这时Producer,认为数据没有写入成功,此时producer会再次写入,相当于一条数据,被写入了多次。
   at most once:最多消费一次,对于消息,有可能消费一次,有可能一次也消费不了
    原因:producer在产生数据的时候,有可能写数据的时候不成功,此时broker就跳过这个消息,那么这条数据就会丢失,导致consumer无法消费。
   exactly once:有且仅有一次。这种情况是我们所需要的,也就是精准消费一次。

2.kafka中消费语义的场景

   at last once:可以先读取数据,处理数据,最后记录offset,当然如果在记录offset之前就crash,新的consumer会重复的来消费这条数据,导致了"最少一次"
   at most once:可以先读取数据,然后记录offset,最后在处理数据,这个方式,就有可能在offset后,还没有及时的处理数据,就crash了,导致了新的consumer继续从这个offset处理,那么刚刚还没来得及处理的数据,就永远不会被处理,导致了"最多消费一次"
   exactly once:可以通过将提交分成两个阶段来解决:保存了offset后提交一次,消息处理成功后,再提交一次。

3.kafka中如何实现精准写入数据?

A:Producer 端写入数据的时候保证幂等性操作:
幂等性:对于同一个数据无论操作多少次都只写入一条数据,如果重复写入,则执行不成功
B:broker写入数据的时候,保证原子性操作, 要么写入成功,要么写入失败。(不成功不断进行重试)

数据 消费 处理 成功 时候 消息 语义 精准 原因 要么 保证 不断 两个 也就是 再次 原子 可以通过 场景 情况 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 腾讯饥荒启动服务器有点问题 网络安全管理员英语 网络安全周都有几个主题日 魔兽数据库增加回蓝速度 网络安全博士专业 福州网络安全备案 数据库与sql语言 怎么查看虚拟复用器的备用服务器 如何提高服务器安全性能 服务器网络信号不好怎么办 固原系统软件开发费用 db2数据库的远程连接 眼镜行业软件开发的几大特点 无线网络技术的论文题目 网络安全信息安全科普画 数据库安全性和可靠性 荣耀新三国服务器开放时间 软件开发毕业设计简单题目 河南网警检查网络安全 四川思恩特通讯网络技术公司 梦幻新诛仙玩哪个服务器 每个人都应该学点网络安全的原因 服务器的防火墙如何关闭 十堰市讯联网络技术服务 自己在网上做软件开发 东营智慧社区软件开发 qq空间留言时服务器繁忙 成都高新区国家级网络安全产业 软件开发教程从零开始 网警运用网络安全法执法
0