Spring-Kafka vs. kafka-clients 直接
Spring-Kafka vs. kafka-clients directly
我有一个基于 spring-boot 的应用程序需要在 Kafka 上进行 consume/produce 事件。
我在犹豫图书馆的选择。
直接使用Kafka-clients似乎很简单,不用管理spring-Kafka和Kafka-clients之间的兼容性矩阵:
另一方面,使用 spring-Kafka 帮助项目规范化使用 Kafka 的配置属性并添加嵌入式 Kafka 进行测试。
使用 spring-Kafka 作为 spring-boot 而不是直接使用 kafka-clients 是否还有其他原因?
基本上,spring-kafka 项目可以帮助您应用核心 Spring 概念(依赖注入和声明)
- 它提供了一个 "template" 作为发送消息的高级抽象。
- 它还通过@KafkaListener 注释和 "listener container" 为消息驱动的 POJO 提供支持。
对于熟悉 JMS 的人,您会在 Spring 中看到与其他消息传递框架的 JMS 支持的相似之处。
如果您有 spring 名开发人员,他们会更习惯使用 spring-kafka 并使用嵌入式 Kafka 进行测试。
spring-Kafka 减少了 technical/redundant 代码:你实现了同样的事情,代码行更少。
- https://docs.spring.io/spring-kafka/reference/html/#even-quicker-with-spring-boot
spring-Kafka 帮助您通过配置控制大部分 Kafka 设置。
它简化了所有错误处理和事务管理。
我对 spring api 有点生气,可能是因为我自己的无知,但似乎 spring 框架实际上阻止了某些设计。
我有一种情况,我想为我的消费者创建一个装饰器来处理一些横切问题,例如根据我收到的消息中的元数据设置日志记录上下文。
来自 spring kafka 的 @KafkaListener 注释似乎与该方法不兼容,但我不确定直接使用 kafka 客户端是否可以解决问题。
我不想使用AOP(AOP是一种应该被根除的疾病)。
我有一个基于 spring-boot 的应用程序需要在 Kafka 上进行 consume/produce 事件。 我在犹豫图书馆的选择。
直接使用Kafka-clients似乎很简单,不用管理spring-Kafka和Kafka-clients之间的兼容性矩阵:
另一方面,使用 spring-Kafka 帮助项目规范化使用 Kafka 的配置属性并添加嵌入式 Kafka 进行测试。
使用 spring-Kafka 作为 spring-boot 而不是直接使用 kafka-clients 是否还有其他原因?
基本上,spring-kafka 项目可以帮助您应用核心 Spring 概念(依赖注入和声明) - 它提供了一个 "template" 作为发送消息的高级抽象。 - 它还通过@KafkaListener 注释和 "listener container" 为消息驱动的 POJO 提供支持。
对于熟悉 JMS 的人,您会在 Spring 中看到与其他消息传递框架的 JMS 支持的相似之处。 如果您有 spring 名开发人员,他们会更习惯使用 spring-kafka 并使用嵌入式 Kafka 进行测试。
spring-Kafka 减少了 technical/redundant 代码:你实现了同样的事情,代码行更少。 - https://docs.spring.io/spring-kafka/reference/html/#even-quicker-with-spring-boot
spring-Kafka 帮助您通过配置控制大部分 Kafka 设置。 它简化了所有错误处理和事务管理。
我对 spring api 有点生气,可能是因为我自己的无知,但似乎 spring 框架实际上阻止了某些设计。
我有一种情况,我想为我的消费者创建一个装饰器来处理一些横切问题,例如根据我收到的消息中的元数据设置日志记录上下文。
来自 spring kafka 的 @KafkaListener 注释似乎与该方法不兼容,但我不确定直接使用 kafka 客户端是否可以解决问题。
我不想使用AOP(AOP是一种应该被根除的疾病)。