赞
踩
在生产线程 和 消费线程 之间起到了 , 缓冲作用,即避免CPU 资源被浪费掉
Kafaka 简介
Kafaka 特点
Kafaka 术语
(1)安装包位置
链接:https://pan.baidu.com/s/1QjZdOUYdmSCSf0zjprJQIQ
提取码:9630
下载后解压缩
(2)相关配置
1
2
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0>bin\windows\zookeeper-server-start.bat config\zookeeper.properties
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0>bin\windows\kafka-server-start.bat config\server.properties
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0\bin\windows>kafka-topics.bat --create --bootstrap-server localhost:9092 -replication-factor 1 --partitions 1 --topic test1
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0\bin\windows>kafka-topics.bat --list --bootstrap-server localhost:9092
__consumer_offsets
test
test1
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0\bin\windows>kafka-console-producer.bat --broker-list localhost:9092 --topic test1
C:\Desktop\软件开发\项目\niuke_coder\code\kafka_2.12-2.2.0\bin\windows>kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test1 --from-beginning
再次生产消息,会自动消费消息
(1)配置Properties
#9. kafkaProperties spring.kafka.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=community-consumer-group # 是否自动提交(记录) 消费者偏移量 spring.kafka.consumer.enable-auto-commit=true spring.kafka.consumer.auto-commit-interval=3000
其中spring.kafka.consumer.group-id=community-consumer-group与。。。保持一致
(2)导入依赖
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>
(3)test
1.定义producer
- @Component
- class KafkaProducer {
-
- @Autowired
- private KafkaTemplate kafkaTemplate;
-
- public void sendMessage(String topic, String content) {
- kafkaTemplate.send(topic,content);
- }
- }
2.定义consumer
- @Component
- class KafkaConsumer {
- @KafkaListener(topics ={"test"})
- public void handleMessage(ConsumerRecord record){
- System.out.println(record.value());
- //PHDVB干嘛呢
- //呕吼
- }
- }
3.编写测试类
- @RunWith(SpringRunner.class)
- @SpringBootTest
- @ContextConfiguration(classes = CommunityApplication.class)
- public class KafkaTests {
-
- @Autowired
- private KafkaProducer kafkaProducer;
-
- @Test
- public void testKafka() {
- kafkaProducer.sendMessage("test","PHDVB干嘛呢");
- kafkaProducer.sendMessage("test","呕吼");
-
- // 生产者发消息是 主动的 ,消费者收消息是 被动地
- try {
- Thread.sleep(1000 * 10);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。