需求分析
阻塞队列(BlockingQueue)
解决线程通信的问题,阻塞方:put,take。
主要是生产者,消费者模式,生产者是产生数据的线程,消费者是使用数据的线程。
kafka:一个分布式的流媒体平台,主要应用在消息系统,日志收集,用户行为追踪,
它的特点:高吞吐量,消息持久化,高可靠性,高拓展性。
消息持久化能支撑 Kafka 的高吞吐,持久化就是把数据永久的保存到一个介质里比方说硬盘,也就是说 Kafka 会把数据内容存到硬盘里而不是放到内存里面,所以它能大量处理海量数据,而且顺序读写硬盘而不是随机读写硬盘性能是高于对内存的随机读取。
然后进 http://kafka.apache.org 进行下载。
然后进行对应的配置,具体的就百度就行。
使用命令行来使用 Kafka:
1 | // 创建了一个topic为test,1个分区,1个副本 |
现在就用 Spring 整合 Kafka。
先在 pom.xml 引入依赖:
1 | <dependency> |
然后在 application.properties 里进行 Kafka 配置
1 | # KafkaProperties |
现在写一段测试代码看怎么在 Spring 里面使用 Kafka:
1 | package com.nowcoder.community; |