minio和kafka学习记录

275 阅读1分钟

minio

待集成验证,minio对象存储,官网 www.minio.

kafka

kafka分布式发布订阅消息系统,下载地址:mirrors.bfsu.edu.cn/apache/kafk… 使用kafka必须下载zookeeper,下载地址:mirrors.bfsu.edu.cn/apache/zook… kafka安装教程:www.cnblogs.com/jiangcong/p…

springboot集成kafka

1.pom引入

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

2.配置文件

spring:
    kafka:
      bootstrap-servers: xx.xx.xx.xx:9092
      producer:
        retries: 3  # 生产者发送失败时,重试次数
        batch-size: 16384
        buffer-memory: 33554432
        key-serializer: org.apache.kafka.common.serialization.StringSerializer # 生产者消息        key和消息value的序列化处理类
        value-serializer: org.apache.kafka.common.serialization.StringSerializer
      consumer:
        group-id: tomge-consumer-group  # 默认消费者group id
        auto-offset-reset: earliest
        enable-auto-commit: true
        auto-commit-interval: 100
        key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
        value-deserializer: org.apache.kafka.common.serialization.StringDeserializer

3.代码中使用发送消息

topic对应步骤2中的group-id,sendMsg为需要发送的消息

kafkaTemplate.send(topic, sendMsg);

4.代码中接收消息

引入@KafkaListener注解,topics的对应值与发送消息的topic值一致

@KafkaListener(topics = {"tomge-consumer-group"})
public void message1(ConsumerRecord<?, ?> record){
    // 消费的哪个topic、partition的消息,打印出消息内容
    System.out.println("点对点消费1:"+record.topic()+"-"+record.partition()+"-"+record.value());
}