引入依赖
在项目的pom.xml
中引入spring-kafka
依赖,代码片段如下:
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
核心配置
注: 以下配置项比较简单,但满足基础使用,其他配置可以根据需求查阅资料增加
替换ip地址 , 如果是集群, 在后面继续加 , 地址即可
192.168.150.xx:9092,192.168.150.xx:9092
spring
kafka:
bootstrap-servers: 192.168.150.xxx:9092
producer:
acks: -1 #ACK应答级别,指定分区中必须要有多少个副本收到消息之后才会认为消息成功写入,默认为1只要分区的leader副本成功写入消息;0表示不需要等待任何服务端响应;-1或all需要等待ISR中所有副本都成功写入消息
retries: 3 #重试次数
value-serializer: org.apache.kafka.common.serialization.StringSerializer #序列化
key-serializer: org.apache.kafka.common.serialization.StringSerializer
生产消息
@RestController
@RequestMapping("/test")
public class TestController{
@Autowired
private KafkaTemplate kafkaTemplate;
/**
* 测试发送消息
* @param topicName 主题名称
* @param body 消息内容
* @return
*/
@GetMapping("/sendMsg/{topic}/{body}")
public String sendMsg(@PathVariable("topic") String topicName, @PathVariable("body") String body) {
kafkaTemplate.send(topicName,body);
return "已发送";
}
}
验证发送消息:
-
API测试工具调用接口
-
使用任意消息查看工具找到主题test ,消息内容: body