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);
}
相关推荐
helloyaren8 分钟前
Docker Desktop里搭建RabbitMq 4.1.3集群的保姆级教程
学习·rabbitmq·集群
艾莉丝努力练剑1 小时前
【C语言16天强化训练】从基础入门到进阶:Day 6
c语言·数据结构·学习·算法
Insist7532 小时前
k8s----学习站点搭建
学习
月盈缺2 小时前
学习嵌入式第二十三天——数据结构——栈
数据结构·学习
mysla2 小时前
嵌入式学习day34-网络-tcp/udp
服务器·网络·学习
Moonnnn.2 小时前
【51单片机学习】AT24C02(I2C)、DS18B20(单总线)、LCD1602(液晶显示屏)
笔记·单片机·学习·51单片机
Rookie小强3 小时前
kafka的rebalance机制是什么
分布式·kafka
牛奶咖啡133 小时前
学习设计模式《二十三》——桥接模式
学习·设计模式·桥接模式·认识桥接模式·桥接模式的优点·何时选用桥接模式·桥接模式的使用示例
终端行者4 小时前
jenkins实现分布式构建并自动发布到远程服务器上 jenkins实现自动打包编译发布远程服务器
服务器·分布式·jenkins
Jenkinscao5 小时前
我从零开始学习C语言(13)- 循环语句 PART2
c语言·开发语言·学习