SpringBoot整合Apache Kafka

分类:
中间件
标签:
Kafka
消息队列/MQ
SpringBoot
作者:
何鑫
创作时间:
2019/06/14 22:07:07

摘要:消息队列 Kafka !

Kafka安装

1 、下载:2.2.0版本下载 

2 、解压:

tar -xzf kafka_2.12-2.2.0.tgz
cd kafka_2.12-2.2.0

3、启动Zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

如果需要后台启动, 可以这样:

nohup bin/zookeeper-server-start.sh config/zookeeper.properties &

4、启动Kafka服务端

bin/kafka-server-start.sh config/server.properties

这样就启动完成啦!

与SpringBoot整合

1、搭建Springboot

该步骤就略掉啦,我们已经与百度达成了战略合作关系,所以如果不会,可以问一下度娘!

2、引入Jar包

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>

3、配置

    在application.yml中

    spring

       kafka:
          bootstrap-servers: ip:9092
          template:
               default-topic: myTopic
          consumer:
               group-id: test

4、编写客户端代码

  • 编写生产者

@Component
public class KafkaProducerManger {

    @Autowired
    private KafkaTemplate kafkaTemplate;


    @SuppressWarnings("unchecked")
    public void sendData(String data) {
        System.out.println("发送消息:" + data);
        kafkaTemplate.send("myTopic", data);
    }

}
  • 编写消费者

@Component
public class KafkaConsumerManager {

    @KafkaListener(topics = "myTopic")
    public void processMessage(String content) {
        System.out.println("接收消息:" + content);
    }

}

5、编写测试代码

@RequestMapping("/")
@ResponseBody
public String test () {
   kafkaProducerManger.sendData("来啦老弟!"):
   return "success!";
}

浏览器直接请求,看到控制台打印相关信息就大功告成啦,是不是很简单!

发表评论

温馨提示: 评论先审核后发布, 请勿发表不良言论

所有评论