Springboot整合kafka

前提,自己本地需要有一个或者多个kafka服务器(外部kafka服务器也可以)

  1. 创建springboot工程(此处省略一万字)
  2. 修改pom.xml文件
		<dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>
  1. 配置yml
spring:
  kafka:
    # kafka服务器,多个服务器之间用逗号分开
    bootstrap-servers: 127.0.0.1:9092
    # 生产者
    producer:
      # 序列化
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    # 消费者
    consumer:
      # 消费组ID
      group-id: default_consumer_group
      # 是否提交offset
      enable-auto-commit: true
      # 提交offset延时(接收到消息后多久提交offset)
      auto-commit-interval: 1000
      # 反序列化
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
  1. 编写生产者代码(我使用的是接口模式的生产者)
@RestController
@RequestMapping(value = "producerController")
public class ProducerController {
    @Autowired
    private KafkaTemplate<String,Object> kafkaTemplate;
    @GetMapping("/send")
    public String send(String msg){
        //使用kafka模板发送信息
        kafkaTemplate.send("demo", msg);
        return "success";
    }
}
  1. 实现消费
@Component
public class ConsumerDemo {
    @KafkaListener(topics = "demo")
    public void listen (ConsumerRecord<?, ?> record){
        System.out.printf("topic:"+ record.topic(), "offset:"+record.offset(), "value:"+record.value());
    }
}

仅供自己学习记录使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值