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

时间:2017-11-15 16:26:55

标签: spring spring-integration spring-cloud-stream spring-kafka

在微服务架构中使用Kafka作为消息传递系统使用spring-kafka与spring-cloud-stream + spring-cloud-starter-stream-kafka有什么好处?

Spring云流框架支持更多的消息传递系统,因此具有更多的模块化设计。但功能呢? spring-kafka和spring-cloud-stream + spring-cloud-starter-stream-kafka的功能之间是否存在差距? 哪种API设计得更好?

期待阅读您的意见

1 个答案:

答案 0 :(得分:2)

带有kafka活页夹的Spring Cloud Stream依赖于Spring-kafka。因此,前者的所有功能都会受到后者的支持,但是前者将变得更加繁重。以下几点可帮助您做出选择:

  1. 如果将来您可能将kafka更改为另一种消息中间件,那么应该选择Spring Cloud流,因为它会隐藏kafka的实现细节。
  2. 如果您想将其他消息中间与kafka集成,则应该使用Spring Cloud流,因为它的卖点是使这种集成变得容易。
  3. 如果您想享受简单性而不接受性能开销,请选择spring-kafka
  4. 如果您打算迁移到公共云服务,请使用Spring Cloud系列中的Spring Cloud Stream。