Kafka学习

结构

分为消费者 Croducer 主题 Topic 生产者 Producer

其中Topic包括

Topic中包括了分区和offset偏移量的概念;

一个简单的Kafka发消息收消息java代码:

消费者:

java 复制代码
@Component
public class EventConsumer {
   @Resource
   private KafkaTemplate<String,String> kafkaTemplate;

   // 采用监听得方式接收
   @KafkaListener(topics = {"test"},groupId = "hello")
   public void onEvent(String event){
       System.out.println("读取到了时间消息: " + event);
   }
}

生产者

java 复制代码
@Component
public class EventProducer {
    @Resource
    private KafkaTemplate<String,String> kafkaTemplate;

    // 消息发送
    public void sendEvent(String message){
        kafkaTemplate.send("test",message);
    } 
}

消费者偏移量的设置

发送消息的一些方法

java 复制代码
// 消息发送
public void sendEvent(String message){
   kafkaTemplate.send("test",message);
}

// 发送message对象
public void sendEvent2(String message){
   // 创建message对象
   Message<String> kafka = MessageBuilder.withPayload(message)
           // 设置topic
           .setHeader(KafkaHeaders.TOPIC,"test")
           .build();
   kafkaTemplate.send(kafka);
}

public void sendEvent3(String message){
   // 消费者可以从Headers中取到信息.
   Headers headers = new RecordHeaders();
   headers.add("orderId","123".getBytes(StandardCharsets.UTF_8));
   ProducerRecord<String,String> record = new ProducerRecord<>(
           "test",
           0,
           System.currentTimeMillis(),
           "k1",
           message,
           headers);
   kafkaTemplate.send(record);
}
相关推荐
Re.不晚15 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
材料苦逼不会梦到计算机白富美1 小时前
golang分布式缓存项目 Day 1
分布式·缓存·golang
1 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
想进大厂的小王1 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
ctrey_1 小时前
2024-11-4 学习人工智能的Day21 openCV(3)
人工智能·opencv·学习
Java 第一深情2 小时前
高性能分布式缓存Redis-数据管理与性能提升之道
redis·分布式·缓存
啦啦右一2 小时前
前端 | MYTED单篇TED词汇学习功能优化
前端·学习
霍格沃兹测试开发学社测试人社区2 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
今天我又学废了2 小时前
Scala学习记录,List
学习