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);
}
相关推荐
天天喝旺仔38 分钟前
gRPC 底层原理:HTTP/2 多路复用、Protobuf 序列化与四种流模式
分布式·http·微服务·rpc
海海不掉头发1 小时前
软件项目管理学习笔记-从软件危机到敏捷与DevOps
笔记·学习·devops
传奇开心果编程2 小时前
【SwiftUI入门练中学】第7课 动画与手势:让界面更灵动
学习·macos·ui·ios·swiftui·swift
幼儿园蛋小黄2 小时前
SPI 多点触摸屏学习嵌入式总结
学习
dadaobusi2 小时前
学习:顶点着色器输出后,三角形为什么是四个分量
学习
lengxuenong3 小时前
枚举及其优化学习手册
c++·学习·算法·青少年编程
M78佐菲4 小时前
ARM学习笔记(12)
linux·arm开发·笔记·嵌入式硬件·学习
奇思妙想聪明勤奋的小羊4 小时前
ai-agent-book第五章:Coding Agent 与通用 Agent 学习笔记
人工智能·笔记·学习
灯澜忆梦4 小时前
【RabbitMQ #5】 | 三大交换机 Fanout ,Direct ,Topic
分布式·rabbitmq·ruby
优化Henry4 小时前
BBU与RRU光链路详解:从双纤一收一发到单纤双向
网络·笔记·学习·5g·tdd