Spring Kafka 和 Spring Integration Kafka 的区别

Posted

技术标签:

【中文标题】Spring Kafka 和 Spring Integration Kafka 的区别【英文标题】:DIfference between Spring Kafka and Spring Integration Kafka 【发布时间】:2020-07-25 19:29:48 【问题描述】:

在微服务架构中使用 Kafka 作为消息传递系统,我想知道哪个是首选,Spring Kafka 或 Spring Integration Kafka,为什么?另外,我们根据哪些因素决定选择哪一个?

【问题讨论】:

如果你能描述更多关于你的情况的信息会更好。 【参考方案1】:

Spring Integration - 扩展 Spring 编程模型以支持众所周知的Enterprise Integration Patterns。

Spring Integration Kafka - 是Spring Integration 项目的扩展模块。

Spring Integration Kafka 现在基于 Spring for Apache Kafka 项目。

Spring for Apache Kafka (spring-kafka) 项目将核心 Spring 概念应用于基于 Kafka 的消息传递解决方案的开发。

根据您的要求,如果您在开发应用程序时没有使用 Spring Integration,那么您需要使用Spring for Apache Kafka (spring-kafka) 项目或Spring Cloud Stream (Kafka)。

Spring-Cloud-Stream - 是基于 Spring Boot 构建的框架,用于构建消息驱动的微服务。

Spring-Kafka vs. Spring-Cloud-Stream (Kafka)

【讨论】:

好的,但我仍然对选择哪一个感到困惑,spring kafka 或 spring integration kafka。与 spring kafka 相比,spring 集成有什么特定的优势吗? Spring Integration Kafka 的优势在于提供:Outbound Channel Adapter 和 Message-Driven Channel Adapter 在 Spring Integration 项目中使用。 使用 Spring Integration for Apache Kafka 版本 3.3,您拥有由 Kafka 主题支持的通道。 docs.spring.io/spring-kafka/docs/2.5.3.RELEASE/reference/html/…

以上是关于Spring Kafka 和 Spring Integration Kafka 的区别的主要内容,如果未能解决你的问题,请参考以下文章

用 spring 管理 Kafka 主题

Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

Spring Kafka/Spring Cloud Stream 如何保证涉及数据库和 Kafka 的事务性/原子性?

解决 spring boot 访问 docker kafka 失败

spring集成kafka

如何使用 testcontainers 和 spring-kafka 准备测试