kafka(windows环境,springboot架构)的简单实现

一、基础服务开启
  1. 运行条件:Java环境

  2. 解压kafka,现版本kafka已经集成有zookeeper,无需另外下载。

    1. kafka-server 是 kafka 的服务端,对应配置文件 server.properties;
    2. zookeeper-server 是 Hadoop 的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务、名字服务、分布式同步、组服务等。对应配置文件 zookeeper.properties 。
  3. 修改config文件夹的 server.properties 的 log.dirs 和 zookeeper.properties 的 dataDir 的路径(存放日志的路径)

  4. 在命令提示符依次运行 bin/windows 下的 zookeeper-server-start.bat 和 kafka-server-start.bat ,命令如下(注意空格):

(1) zookeeper-server-start.bat ..\..\config\zookeeper.properties
(2) kafka-server-start.bat ..\..\config\server.properties
二、kafka 的 springboot 项目搭建
  1. 服务打开后,新建springboot项目,注入 kafka 依赖:
<dependency>
   <groupId>org.springframework.kafka</groupId>
   <artifactId>spring-kafka</artifactId>
</dependency>
  1. 补全配置文件:
spring:
  kafka:
    bootstrap-servers: localhost:9092
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    consumer:
      group-id: consumerTest
      enable-auto-commit: true
      auto-commit-interval: 1000
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
  1. 生产者(发送方)代码:
@RestController
@RequestMapping("kafka")
public class ProducerController {

    @Autowired
    private KafkaTemplate<String,String> kafkaTemplate;

    @RequestMapping("send")
    public String send(String msg){
        kafkaTemplate.send("cgz",msg);
        return "success";
    }

}
  1. 消费者(接收方)代码:
@Component
public class Consumer {

    @KafkaListener(topics = "cgz")
    public void listener(ConsumerRecord<?,?> consumerRecord){
        System.out.printf("topic = %s, offset = %d, value = %s \n",consumerRecord.topic(),consumerRecord.offset(),consumerRecord.value());
    }

}
  1. 运行项目,打开连接:localhost:8080/kafka/send?msg=abc

注意:启动前注意清理先前的文件缓存

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值