spring boot + kafka 使用详细步骤

匿名 (未验证) 提交于 2019-12-03 00:25:02

一,Kafka的安装以及配置

1.下载文件
wget http://mirror.bit.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz 
  • 1
  • 2
2.安装
tar xzvf kafka_2.11-0.11.0.0.tgz -C /usr/local/ 
  • 1
  • 2
3.配置(服务器在阿里云ECS上)
vi %kafka_home%/server.properties  ############################# Server Basics ############################# broker.id=0 port=9092 host.name=阿里云内网ip advertised.host.name=阿里云外网ip delete.topic.enable=true  ....其他的配置不变 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

二,Spring boot操作Kafka

1.Spring boot pom依赖
<parent>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-parent</artifactId>     <version>1.5.6.RELEASE</version>     <relativePath/> <!-- lookup parent from repository --> </parent> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.kafka依赖
 <!--kafka支持--> <dependency>     <groupId>org.springframework.kafka</groupId>     <artifactId>spring-kafka</artifactId> </dependency> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
3.kafka配置
#kafka相关配置 spring.kafka.bootstrap-servers=阿里云外网ip:9092 #设置一个默认组 spring.kafka.consumer.group-id=defaultGroup #key-value序列化反序列化 spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.batch-size=65536 spring.kafka.producer.buffer-memory=524288 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
4.kafka发送代码
@Component public class KafkaSender {     @Autowired     private KafkaTemplate kafkaTemplate;      /**      * 发送消息到kafka,主题为test      */     public void sendTest(){         kafkaTemplate.send("test","hello,kafka  "  + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")));     } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
5.Kafka消费代码
public class KafkaConsumer {      /**      * 监听test主题,有消息就读取      * @param message      */     @KafkaListener(topics = {"test"})     public void consumer(String message){         log.info("test topic message : {}", message);     } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
6,启动测试代码
@SpringBootApplication @EnableScheduling public class ServerApplication {     @Autowired     private KafkaSender kafkaSender;       public static void main(String[] args) {         SpringApplication.run(ServerApplication.class, args);     }      //然后每隔1分钟执行一次     @Scheduled(fixedRate = 1000 * 60)     public void testKafka() throws Exception {         kafkaSender.sendTest();     } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

三,以上就是完整的spring boot整合Kafka消息队列的步骤.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!