牛客网后端项目实战(三十二):Kafka入门+Spring整合

  • Kafka简介
    • Kafka是一个分布式的流媒体平台。
    • 应用:消息系统、日志收集、用户行为追踪、流式处理。
  • Kafka特点 - 高吞吐量、消息持久化、高可靠性、高扩展性。
    • Kafka术语
    • Broker、Zookeeper
    • Topic、Partition、Offset
    • Leader Replica 、Follower Replica

Kafka入门

资料1: https://github.com/frank-lam/fullstack-tutorial/blob/master/notes/MicroService/kafka/README.md

kafka配置与启动与命令(Linux): https://github.com/frank-lam/fullstack-tutorial/blob/master/notes/MicroService/kafka/kafka-tutorial-2_%E5%8D%95%E8%8A%82%E7%82%B9%E9%83%A8%E7%BD%B2.md

1、kafka配置文件修改

2、kafka启动

windows下使用kafka命令

C:\WINDOWS\system32>cd /d D:\JavaWork\kafka_2.12-2.3.0

D:\JavaWork\kafka_2.12-2.3.0>.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

// 再打开一个命令行界面,启动kafka:
D:\JavaWork\kafka_2.12-2.3.0>.\bin\windows\kafka-server-start.bat .\config\server.properties

Kafka 2.11-1.0.0启动报错,连接到zookeeper超时

参数配置
https://www.cnblogs.com/cuishuai/p/7743988.html

Spring整合Kafka

  • 引入依赖
    • spring-kafka
  • 配置Kafka
    • 配置server、consumer
  • 访问Kafka
    • 生产者kafkaTemplate.send(topic, data);
    • 消费者
      @KafkaListener(topics = {“test”})
      public void handleMessage(ConsumerRecord record) {}
@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class KafkaTests {

    @Autowired
    private KafkaProducer kafkaProducer;

    @Test
    public void testKafka() {
        kafkaProducer.sendMessage("test", "你好");
        kafkaProducer.sendMessage("test", "在吗");

        try {
            Thread.sleep(1000 * 10);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

@Component
class KafkaProducer {

    @Autowired
    private KafkaTemplate kafkaTemplate;

    public void sendMessage(String topic, String content) {
        kafkaTemplate.send(topic, content);
    }

}

@Component
class KafkaConsumer {

    @KafkaListener(topics = {"test"})
    public void handleMessage(ConsumerRecord record) {
        System.out.println(record.value());
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值