博客

java / Reactor / 2024-06-12
0 596

背景:有个需求,后端在一个时间点要向前端发送websocket消息,前端点击确认作出应答。为防止用户错误点击或页面刷新消息丢失,需要后端在5分钟内判断应答状态,如果5分钟内没有应答,则每隔10秒向前端推送一次,5分钟内应答了或者超过了5分钟,后端结束推送。这是一个很简单的需求,起个线程,在5分钟之内

java / 2024-02-22
0 624

前段时间做项目,有一个场景是在后端接收到信号的时候将消息推送给前端,前端在展示给用户。就是后端主动向前端推送消息的功能。这样的场景可以让前端轮询,但是因为消息比较多,比较频繁,所以如果让前端轮询的话,就有可能实时性不太好,而且由于http协议的请求头比较长,进行轮询会浪费大量的带宽,服务器的压力也会

Spring / 2024-02-04
0 1,038

项目中在使用lombok的@RequiredArgsConstructor配合final做自动注入时,出现了循环依赖的问题。idea 控制台输出:***************************APPLICATION FAILED TO START***********************

MQ / 2024-01-05
0 751

一、什么是死信队列rabbitmq.com/dlx.html死信交换机绑定的队列就叫死信队列。什么叫死信交换机?接收死信消息的交换机叫做死信交换机。什么叫做死信消息?消息被拒绝,又没有重新入队的消息(basic.nack | basic.reject & requeue = false)消息

2023-07-06
0 1,058

有这样一个场景:前端请求创建了一个批处理任务,请求会返回任务的进度,然后前端会根据进度定时重新获取最新进度,直到进度为1。现在出现了一个问题:在进度没有达到1的情况下,前端一直在发请求获取最新进度,但是后端返回的进度信息却一直不更新了。一、伪代码public class TaskTest {

2023-04-16
0 1,265

最近在使用产品是遇见了一个奇怪的问题,在使用mysql数据库时,数据表中会一次写两条相同的记录进去,最后定位到问题是由于方法加了事务,方法中又加了锁,在多线程的情况下,多个线程在事务没提交的情况下读取到了一份数据。一、问题复现1、伪代码:@Transactionalpublic Integer ge

MQ / 2023-03-21
0 883

一、消息丢失常见场景● publisher到exchange过程中发生丢失● exchange分发给queue发生丢失● queue投递到customer发生丢失1、【生产者发送丢失】publisher到exchange过程中发生丢失原因生产者发出消息后由于网络等原因服务端没收到解决方案1.1、开启

linux / 2023-02-09
0 1,072

df -h:查看系统内的分配du -sh *:查看每个文件夹的大小du -sh /home/*:查看home下的每个文件夹大小ls | wc -l:当前文件夹下有多少文件切换root用户:su - rootnetstat -tulpn | grep 'your_port_number':查看端口的p

2023-02-09
0 1,266

启动redis ./redis-server redis.conf : redis-server在src目录下,redis.conf是指定的redis配置文件停止:redis-cli shutdown配置连接密码:bind 127.0.0.1上下添加requirepass xxx添加密码。1.连接r

java / 2023-02-09
0 1,260

听说这是工作中常用的方式,咱也不知道,学着玩呗。