社区项目中利用Kafka构建TB级异步消息系统。主要包含内容:Kafka的概念(阻塞队列,Kafka入门,Spring整合Kafka),项目中如何利用Kafka进行消息通知(发送系统通知和显示系统通知)等。
阻塞队列
- BlockingQueue阻塞队列
- 解决线程通信的问题
- 阻塞方法:put、take
- 生产者消费者模式
- 生产者:产生数据的线程
- 消费者:使用数据的线程
- 实现类
- ArrayBlockingQueue
- LinkedBlockingQueue
- PriorityBlockingQueue、SynchronousQueue、DelayQueue等。
Kafka入门
Kafka入门
- Kafka是一个分布式流媒体平台
- 应用:消息系统、日志收集、用户行为追踪、流式处理
Kafka特点
- 高吞吐量、消息持久化、高可靠性、高扩展性
Kafka术语
Spring整合Kafka
引入依赖
- spring-kafka
配置kafka
访问kafka
生产者
1
kafkaTemplate.send(topic,data);
消费者
1
2
public void handleMessage(ConsumerRecord record){}
发送系统通知
触发事件
处理事件