apache-kafka - SpringBoot 批量监听模式 vs 非批量监听模式
问题描述
我只是好奇 Spring Kafka 中的批处理侦听器模式是否比非批处理侦听器模式提供更好的性能?如果我们正在处理异常,那么我们仍然需要在 Batch-listener 模式下处理每条记录。非批处理似乎不太容易出错,稳定且可定制。
请分享您对此的看法,因为我没有找到任何好的比较。
解决方案
这完全取决于您的听众对数据的处理方式。
如果它在循环中处理每条记录,那么没有任何好处;您不妨让容器遍历集合并一次向侦听器发送一条记录。
如果您将批处理作为一个整体进行处理,批处理模式将提高性能 - 例如,在单个事务中使用 JDBC 进行批处理插入。
这通常比一次存储一条记录(为每条记录使用一个新事务)运行得快得多,因为它需要更少的到数据库服务器的往返行程。
推荐阅读
- python - 列表列表python:组合相同大小的列表元素
- tensorflow - tf.train.match_filename_once 或 tf.train..string_input_producer 有什么问题?
- uipath - 如何在 UI Path 工具中附加 PDF 或 Doc 文件(机器人自动化流程)
- canvas - 使用 PixiJS 获取 base64
- amazon-web-services - 在 Bash shell WSL 中添加永久 SSH 代理转发
- javascript - 悬停时的颜色没有改变
- excel - Excel 2016 - Application.visible=true - 生成新的 excel 实例
- ios - xcode 属性检查器文本值未正确显示(文本太长)
- node.js - 护照谷歌oauth和护照谷歌令牌有什么区别?
- sql - 抓取表中的所有行列,除了在一列中具有非唯一值的行