有问题,上官网

Apache Kafka

0x00 需求

很多技术上面的需求可以通过kafka进行服务间解耦。例如消息推送、同步推送和日志收集等需求。在这里我们通过消息推送作为契机,将kafka进入到项目中去。

0x01 Kafka Server

和kafka相关的一些概念如broker、producer、consumer、topics、partitions、groups、offset等等概念在这里就不多做介绍了,网上有很多相关的文章,并且在文章末尾会有附上我在接入kafka时参考的一些文章。

目前kafka的服务器选择可以有很多。本次项目上我们使用了目前使用广泛的云服务厂商所提供的kafka实例解决方案。

相比起自己搭建和维护一份kafka,云厂商提供的SaaS解决方案的好处不言而喻,并且接入流程与自搭建一套kafka并无太大差异。

但是在刚开始的配置上可能需要一些云相关的概念,比如安全组、VPC等。

0x02 SpringBoot集成kafka

SpringBoot接入kafka是非常容易的,使用接入和使用方式和Redis非常相似。

接入必须引入的包 spring kafka support

Maven Repository: org.springframework.kafka " spring-kafka

如果想要在测试中验证kafka行为,可以使用 spring kafka test support 并使用 @EmbeeddedKafka 来创建一个内置的kafka实例:

Maven Repository: org.springframework.kafka " spring-kafka-test

0. application.yaml配置

配置也是网上一捞一大把,并且可以上kafka官网看完整的相关配置列表和解释。

Kafka配置文件详解_禅与计算机程序设计艺术-CSDN博客

在这里贴出一个解释的比较全的配置示例,感谢先驱者。