【Kafka系列】Kafka事务一般在什么场景下使用呢

在这里插入图片描述

面试官:听说你精通Kafka,那我就考考你吧


面试官:不用慌尽管说,错了也没关系😊。。。


以【面试官面试】的形式来分享技术,本期是《Kafka系列》,感兴趣就关注我吧❤️

面试官:生产者重试机制导致Kafka重复消息,知道怎么处理吗

噢噢,Kafka支持幂等生产者,可以开启这个模块。

它是这样的,发送消息时同时发送生产者id、消息序列号,kafka会根据这些信息避免重复消息被写入。


面试官思考中…


面试官:Kafka事务,应该知道吧

嗯嗯知道的,消息队列事务主要应用在流式应用程序中。

比如主题A的消息A过来,消费者的消费逻辑是发送消息B给主题B。

所以我们要确保消费者成功提交偏移量、新消息成功写入,这两步操作要么成功要么都不成功。

在这里插入图片描述


面试官思考中…


面试官:你说的这个场景,不使用事务会有什么问题吗

可能会出现重复消费的问题。

比如消费消息A,新消息被成功写入,但提交偏移量失败了。Broker会认为该消息未被消费,此时消息A会分给其他消费者重复消费


面试官思考中…


面试官:那Kafka事务一般在什么场景下使用呢

我举个例子吧。

例如支付场景下有很多流程步骤,用户支付后,发送支付消息过来。消费者扣款后,还需要发送另一个消息去给商家转账。

这个场景下就需要事务的支持了,保证两个步骤的事务性。

面试官抓抓脑袋,继续看你的简历…


得想想考点你不懂的😰

未完待续。。。。。。

好了,今天的分享就先到这,我们下期【Kafka系列】继续。

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/283064.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ideaSSM 学员信息管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 学员信息管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库&#xff…

现代游戏引擎架构

一、并行编程 1.1 为什么需要并行编程 游戏的渲染计算对算力要求很高,所以我们需要把操作系统的资源利用到极致。 但是摩尔定律已经不在适用了,硬件的发展目前已经达到瓶颈。所以我们需要通过数量来提高计算效率。 1.2 并行编程基础 进程与线程&#…

eclipse中使用PlantUML plugin查看对象关系

一.背景 公司安排的带徒弟任务,给徒弟讲了如何设计对象。他们的思维里面都是单表增删改查,我的脑海都是一个个对象,他们相互关系、各有特色本事。稳定的结构既能满足外部功能需求,又能在需求变更时以最小代价响应。最大程度的记录…

NIVision-相机图像采集

应用场景 上位机与工业相机通讯,控制相机抓取图像。 工业相机的通讯接口大多为USB口或网口。 USB口则直接将通讯线缆插入上位机USB端口,打开MAX中设备与接口一栏可以看到电脑给相机分配的资源名称;网口则需要将网线连接相机和上位机&#xf…

课时72:流程控制_for循环_嵌套循环

1.1.1 嵌套循环 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 这里的嵌套实践,与选择语句的嵌套实践基本一致,只不过组合的方式发生了一些变化。常见的组合样式如下:for嵌套for语句for …

基于python+vue学生作业管理系统flask-django-nodejs-php

快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式…

docker 不同架构镜像融合问题解决

1、背景 docker 作为目前容器的标准之一,但是对于多种架构的平台的混合编译支撑不是很好。因此衍生了镜像融合,分别将多种不同的架构构建好,然后将镜像进行融合上传。拉取镜像的会根据当前系统的架构拉取不同的镜像,也可以通过 -…

【mysql 127错误】mysql启动报错mysqld.service: Failed with result ‘exit-code‘.

无网环境,mysql 安装 出现如下错误 [rootmysql tools]# systemctl status mysqld.service ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since…

Jupyter R绘图 汉字显示乱码的解决办法

1.Jupyte中,R绘图,汉字显示乱码 2.如何解决? (1)R中安装showtext 登录linux服务器 #R > install.packages(“showtext”) … 出错 (2)退出R,安装freetype-config #apt install libfreetype6-dev 出错 (3)进入R&…

vi\vim编辑器详解

vi\vim编辑器介绍 vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器 同图形化界面中的 文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择。 vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而…

Springboot+vue的四川美食分享网站+数据库+报告+免费远程调试

项目介绍: Springbootvue的四川美食分享网站。Javaee项目,springboot vue前后端分离项目 本文设计了一个基于Springbootvue的前后端分离的四川美食分享网站,采用M(model)V(view)C(controller&am…

无插件网页视频播放器,支持图像绘制(包含方格子、方框等),支持音视频播放、支持录像截图,提供源码下载

前言 本播放器内部采用jessibuca插件接口,支持录像、截图、音视频播放等功能。播放器播放基于ws流,图像绘制操作:1)支持绘制方格子,用于监控移动检测画框;2)支持绘制不透明方框,用于…

AI智能分析网关V4在非煤矿山安全生产视频智能监管场景中的应用

近年来,全国非煤矿山((含金属非金属矿山、尾矿库,以及矿泉水等其他矿山)安全生产工作取得明显成效,但安全基础仍然薄弱,事故总量仍然较大,重特大事故尚未得到根本遏制,安…

Maven发布开源框架到远程仓库

1.背景 当你写了一个自我感觉良好的开源工具希望给他人分享,如果只是在github等网站进行公布之外,用户使用起来还不是很方便,特别是当你提供是特定领域的基础工具。你还可以把它部署到中央仓库,这样别人使用就会方便很多。接下来…

【nginx】反向代理和负载均衡

文章目录 一、介绍二、好处三、反向代理和负载均衡3.1 nginx 反向代理的配置方式3.2 nginx 负载均衡的配置方式: 一、介绍 nginx 反向代理: 就是将前端发送的动态请求由 nginx 转发到后端服务器 二、好处 nginx 反向代理的好处: 提高访问速…

【CKA模拟题】如何发布一个SVC资源

题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetesYou have an existing Nginx pod named nginx-pod . Perform the following steps: Expose the nginx-pod internally within the cl…

python 函数(解包**、互相调用、作用域、函数的封装、内置函数:eval()、zip()、文件处理open())

函数解包 """ 1、函数的注释:参数和返回值 在注释里可以自动添加显示,只需手动加说明。2、函数的解包【拆包】:函数的参数要传递数据有多个值的时候,中间步骤拿到数据 保存在元组或者列表 或者字典里。 - 传递参数…

等高线图怎么生成3d模型---模大狮模型网

要将等高线图转换为3D模型,可以按照以下步骤进行操作: 准备等高线图: 首先,确保你有一张清晰的等高线图。等高线图显示了地形或物体在不同高度上的等高线,可以是数字化的图像文件或手绘的地图。 导入等高线图&#x…

2024华为OD统一考试(C卷)最新题库(Java Python C++)

关于华为OD ​ 华为的员工补充途径有三种,分别是校招、OD转正和社招。校招是华为唯一的正式员工入职途径,但是从近几届开始竞争非常激烈,尤其是在CV、AI、NLP等赛道上,所以对于C9等专业的学生来说,可以考虑转向一些冷…

[运维] 可视化爬虫易采集-EasySpider(笔记)

一、下载 ​下载地址 下滑到Assets页面,选择下载 二、解压运 ​解压压缩包,打开文件夹 在此文件夹下打开Linux Terimal, 并输入以下命令运行软件: ./easy-spider.sh 注意软件运行过程中不要关闭terminal。 三、使用 1.开始 首先点击…