Kafka
1.安装与启动服务
打卡Kafaka文件夹的bin目录下,打开命令行控制台,按照内容输入命令
-
启动zookeeper
–zookeeper-server-start.bat ../../config/zookeeper.properties
– 默认端口:2181 -
启动Kafka
–kafka-server-start.bat ../../config/server.properties
– 默认端口:9092 -
创建topic
–kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic 你的topic名
-
查看topic
–kafka-topics.bat --zookeeper 127.0.0.1:2181 --list
-
删除topic
–kafka-topics.bat --delete --zookeeper 127.0.0.1:2181 --topic 你的topic名
-
生产者功能测试
–kafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic 你的topic名
-
消费者功能测试
–kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092 --topic 你的topic名 --from-beginning
2.SpringBoot整合
- 1.导入坐标
<!--Kafka-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
- 2.配置Kafka(采用默认配置)
spring:
kafka:
bootstrap-servers: localhost:9092
consumer:
group-id: order
- 3.实现类,生产消息
@Service
public class MessageServiceKafkaImpl implements MessageService {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
@Override
public void sendMessage(String id) {
System.out.println("待发送短信的订单已纳入处理队列(kafka). id:"+id);
kafkaTemplate.send("你的topic名",id);
}
}
- 4.设置监听器,使用消息监听器对消息队列监听
@Component
public class MessageListener {
@KafkaListener(topics = {"你的topic名"})
public void onMessage(ConsumerRecord<String, String> record){
System.out.println("已完成短信发送业务(kafka). id:"+record.value());
}
}