Spring Boot 批处理监听器模式 vs 非批处理监听器模式

SpringBoot batch listener mode vs non-batch listener mode

我很好奇 Spring Kafka 中的批处理侦听器模式是否比非批处理侦听器模式提供更好的性能? 如果我们正在处理异常,那么我们仍然需要在 Batch-listener 模式下处理每条记录。非批处理似乎不太容易出错,稳定且可定制。

请分享您对此的看法,因为我没有找到任何好的比较。

这完全取决于您的侦听器对数据的处理方式。

如果它循环处理每条记录,那么就没有任何好处;您不妨让容器遍历集合并一次向侦听器发送一条记录。

如果您将批处理作为一个整体进行处理,批处理模式将提高性能 - 例如在单个事务中使用 JDBC 批量插入。

这通常 运行 比一次存储一条记录(对每条记录使用一个新事务)快得多,因为它需要更少的往返数据库服务器。