仿牛客论坛项目day7|Kafka

一、阻塞队列

创建了一个生产者线程和一个消费者线程。生产者线程向队列中放入元素,消费者线程从队列中取出元素。我们可以看到,当队列为空时,消费者线程会被阻塞,直到生产者线程向队列中放入新的元素。

二、Kafka入门

发布、订阅

三、spring整合Kafka

首先,需要在项目的pom.xml中添加对Spring Kafka的依赖。然后,可以通过配置类或application.properties来配置Kafka生产者和消费者。接着,使用KafkaTemplate发送消息和使用@KafkaListener注解来监听和接收消息。

四、发送系统通知

功能拆解:

具体实现:

构造生产者与消费者

生产者:将得到的event发给指定主题

消费者:将event转换为message对象,再将message存入数据库

调用producer

comment controller:生成event,调用生产者的fire event方法。有人点赞时就会将event发出,到消息队列里,消费者监听到后会将event转换为message对象,再将message存入数据库。

like controller:生成event,调用生产者的fire event方法。

follow controller:生成event,调用生产者的fire event方法。

五、显示系统通知

message表里有新的点赞、评论、关注。现在增加将这些数据显示在系统通知页面的功能。

service:增加查询message通知的方法

controller:将查到的message放入页面

相关推荐
爱吃提升13 小时前
python 分布式爬虫、爬虫合规与综合实战项目
分布式·爬虫·python
ZENERGY-众壹17 小时前
跨品牌逆变器升级:华为锦浪德业 API 对接的 7 个坑
分布式·华为·数据归一化·光伏运维·逆变器api
薛定谔的猫198220 小时前
LLaMA-Factory +DeepSpeed 分布式多卡训练实战全解
分布式·deepspeed·zero·多卡训练·多卡分布式训练
稚南城才子,乌衣巷风流21 小时前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
AI人工智能+电脑小能手1 天前
【大白话说Java面试题 第194题】【08_Kafka篇】第10题:简述 Kafka 的 Rebalance 机制?
java·kafka·消费者组·rebalance·分布式消息队列
Database_Cool_1 天前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
肥胖小羊2 天前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信
AI人工智能+电脑小能手2 天前
【大白话说Java面试题 第192题】【08_Kafka篇】第8题:死信队列是什么?延时队列是什么?
java·kafka·消息队列·死信队列·延时队列
AI人工智能+电脑小能手3 天前
【大白话说Java面试题 第190题】【08_Kafka篇】第6题:消息队列有什么作用?
java·kafka·消息队列·系统设计·分布式架构
风中凌乱3 天前
kafka新版本集群的安装与部署
分布式·kafka