Kafka程序例子

3 篇文章 0 订阅
2 篇文章 0 订阅

Kafka安装

安装Kafka前需要安装Zookeeper,因为Kafka需要Zookeeper做协调(Zookeeper不会参考Linux安装Zookeeper,我是安装在windows环境下,步骤差不多)安装好了之后安装Kafka Kafka下载地址
安装完成后:
1、启动zookeeper
2、启动Kafka cmd命令进入Kafka安装目录 ,目录位置如下
目录
进入这个目录之后 输入启动命令 : .\bin\windows\kafka-server-start.bat .\config\server.properties
在这里插入图片描述
启动成功!

用Kafka自带消息生产者消费者演示消息队列

在安装目录下用topic创建topic:
cmd命令:.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic test-kafka-topic (不懂参数可以参考博主上一篇博客基础概念
在这里插入图片描述
可以看见创建了一个test-kafka-topic 的topic

查看已经存在的主题: .\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
在这里插入图片描述

创建一个生产者命令:.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test-kafka-topic
在这里插入图片描述
例外启动一个cmd 创建消费者: .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-kafka-topic --from-beginning
在这里插入图片描述
–from-beginning 指从头开始消费

谢谢观看,下一篇用Java代码编写Kafka简单入门例子

好的,下面是一个基于Spring Boot的Kafka应用程序的示例代码。这个示例应用程序包含了一个生产者和一个消费者,用于发送和接收Kafka消息。 首先,我们需要添加以下依赖项到我们的pom.xml文件中: ``` <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> ``` 接下来,我们需要配置Kafka相关的bean。在这个示例中,我们使用了KafkaAutoConfiguration和KafkaProperties来配置KafkaTemplate和其他Kafka相关的bean。我们还定义了一个名为kafkaListenerContainerFactory的KafkaListenerContainerFactory bean,用于配置消息监听器容器。 ``` @Configuration @EnableKafka public class KafkaConfig { @Value("${spring.kafka.bootstrap-servers}") private String bootstrapServers; @Bean public KafkaTemplate<String, String> kafkaTemplate() { return new KafkaTemplate<>(producerFactory()); } @Bean public ProducerFactory<String, String> producerFactory() { Map<String, Object> producerConfigProps = new HashMap<>(); producerConfigProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); producerConfigProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); producerConfigProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); return new DefaultKafkaProducerFactory<>(producerConfigProps); } @Bean public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerContainerFactory() { ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>(); factory.setConsumerFactory(consumerFactory()); return factory; } @Bean public ConsumerFactory<String, String> consumerFactory() { Map<String, Object> consumerConfigProps = new HashMap<>(); consumerConfigProps.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); consumerConfigProps.put(ConsumerConfig.GROUP_ID_CONFIG, "test-group"); consumerConfigProps.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); consumerConfigProps.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class); return new DefaultKafkaConsumerFactory<>(consumerConfigProps); } } ``` 接下来,我们可以定义一个生产者类,用于发送Kafka消息。在这个示例中,我们使用了一个Rest API来触发生产者发送消息的操作。 ``` @RestController public class KafkaProducerController { @Autowired private KafkaTemplate<String, String> kafkaTemplate; @PostMapping("/kafka/send") public void sendMessage(@RequestParam String message) { kafkaTemplate.send("test-topic", message); } } ``` 最后,我们可以定义一个消费者类,用于接收Kafka消息。在这个示例中,我们使用了@KafkaListener注解来声明一个消息监听器方法,用于接收Kafka消息。 ``` @Service public class KafkaConsumer { @KafkaListener(topics = "test-topic", groupId = "test-group") public void listen(String message) { System.out.println("Received message: " + message); } } ``` 这就是一个基于Spring Boot的Kafka应用程序的示例代码。我们可以运行这个示例应用程序,并使用Rest API来触发生产者发送消息的操作,然后在控制台上查看消费者接收到的消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值