仿牛客论坛项目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放入页面

相关推荐
此时不提桶,更待何时3 小时前
06-23-A-RabbitMQ生态集成详解
分布式·rabbitmq
m0_646429979 小时前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
DBA_G11 小时前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
chunyublog11 小时前
Spark 词频统计练习
大数据·分布式·spark
ClouGence12 小时前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
acrel712 小时前
高速公路分布式光伏并网电能质量与安全保护方案应用
分布式·安全
RobinXYuan12 小时前
【Kafka 源码手记】01 从消息队列到 Event Streaming
kafka·源码阅读
IT小小猪14 小时前
# Hadoop 3.3.6 完全分布式集群部署知识库
hadoop·分布式·eclipse
此时不提桶,更待何时14 小时前
06-24-B-RabbitMQ面试与生产事故实战
分布式·面试·rabbitmq
来福猿15 小时前
分布式锁 Redis 实现源码分析:SETNX、过期时间与可重入设计
数据库·redis·分布式