前两天上线了一个小功能,差点把我们项目搞崩溃

news2024/12/31 4:03:56

项目场景:

最近一直在迭代公司的系统,业务提出需要增加一个消息通知的功能,对接完需求之后,我们就
开始热火朝天的编码、测试、上线,
在这里插入图片描述
就是右上角这个小图标,为了提升用户体验,我们采用每隔20S定时查询一次后端消息接口,为了让用户几十获取最新的消息,这种操作俗称“轮询请求”, 但是问题就出在这个“轮询”上,相信看到这里很多同学已经猜到我们遇到的问题,


问题描述

很多用户进入系统之后,哪怕不做操作,或者是不关闭网页,有不关电脑,我们的“轮询”就一直再跑,导致后端接口一直被调用,如果用户量庞大,很可能造成服务器宕机


解决方案:

1.最简单的方案:调整时间间隔,延长时间间隔,改为 60s ,90s 等
2.页面活跃状态监控:通过 visibilitychange 事件 监控页面活跃度,以及通过判断用户是否在当前窗口
3.通过 sse 或者 WebSocket 后端主动推流的方式,实现该功能(成本过高)

后续思考

经历了这次事件,我们深刻意识到技术选型与优化策略的重要性,在进入开发之前我们需要充分的考虑场景,有一定前瞻性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有效利用MRP能为中小企业带来什么?

在离散制造企业,主流的生产模式主要为面向订单生产和面向库存生产(又称为预测生产),在中小企业中,一般为面向订单生产,也有部分面向库存和面向订单混合的生产方式(以面向订单为主,面…

windows系统docker镜像导出

docker镜像导入导出(windows)_windowdocker下载镜像导出-CSDN博客https://blog.csdn.net/qq_22211217/article/details/93936363

网页设计软件Bootstrap Studio6.7.1

Bootstrap Studio是一个适用于Windows的程序,允许您使用流行的fre***orca Bootstrap创建和原型网站。您可以将现成的组件拖动到工作区并直观地自定义它们。该程序生成干净和语义的PDF、CSS和JS代码,所有Web浏览器都支持这些代码。 Bootstrap Studio有一个漂亮而强大的界面,它…

[个人感悟] MySQL应该考察哪些问题?

前言 数据存储一直是软件开发中必不可少的一环, 从早期的文件存储txt, Excel, Doc, Access, 以及关系数据库时代的MySQL,SQL Server, Oracle, DB2, 乃至最近的大数据时代f非关系型数据库:Hadoop, HBase, MongoDB. 此外还有顺序型数据库InfluxDB, 图数据库Neo4J, 分布式数据库T…

linux系统指令查漏补缺

目录 一.磁盘操作 二.lvm 三.top 4.nohup 一.磁盘操作 1. lsblk -f 显示磁盘和它的相关内容 2.tuen2fs -c -1 /dev/sdx 关闭某个磁盘的自检 3.修改配置,使文件系统不要开机自检 cat /etc/fstab 全0表示开机不自检 全1表示开机自检 同时在这个文件中可添加…

计算机网络面试HTTP篇二

HTTP/1.1 如何优化? 问你一句:「你知道 HTTP/1.1 该如何优化吗?」 我们可以从下面这三种优化思路来优化 HTTP/1.1 协议: 尽量避免发送 HTTP 请求;在需要发送 HTTP 请求时,考虑如何减少请求次数&#xff…

Nature推荐的三种ChatGPT论文写作指令

1. 润色学术论文 ChatGPT学术润色指令: “I’m writing a paper on [topic]for a leading [discipline] academic journal. WhatItried to say in the following section is [specific point]. Please rephrase itfor clarity, coherence and conciseness, ensuri…

C语言---数据结构(1)--时间复杂和空间复杂度计算

1.什么是时间复杂度和空间复杂度 1.1算法效率 算法效率分为时间效率和空间效率 时间效率被称为时间复杂度,而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,在计算…

麦肯锡:量子传感究竟在何处可以发光发热

量子传感技术已经提供价值,潜在的应用案例可以塑造多个行业。有四种核心技术具有应用前景:固态自旋、中性原子、超导电路和离子阱,它们具有在广泛的物理属性上的传感能力,包括磁场、电场、旋转、温度、重力、时间和压力。选择哪种…

spring cloud Alibaba 整合 seata AT模式

准备工作: 1、MySQL正常安装并启动 2、nacos正常部署并启动 3、下载 Seata-1.4.2 源码包和 seata-server-1.4.2 服务端源码包(版本根据自己的需要选择,我这里选择1.4.2) 下载地址: Seata:https://gite…

区间问题——905. 区间选点

目录 区间问题 定义 运用情况 注意事项 解题思路 AcWing 905. 区间选点 题目描述 运行代码 代码思路 改进思路 其它代码 代码思路 区间问题 定义 区间通常是指一个连续的范围,可以用数轴上的一段来表示。 运用情况 在数学中广泛用于表示变量的取值范…

【初阶数据结构】深入解析栈:探索底层逻辑

🔥引言 本篇将深入解析栈:探索底层逻辑,理解底层是如何实现并了解该接口实现的优缺点,以便于我们在编写程序灵活地使用该数据结构。 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 &#x1…

Paimon Trino Presto的关系 分布式查询引擎

Paimon支持的引擎兼容性矩阵: Trino 是 Presto 同项目的不同版本,是原Faceboo Presto创始人团队核心开发和维护人员分离出来后开发和维护的分支,Trino基于Presto,目前 Trino 和 Presto 都仍在继续开发和维护。 Trino 生态系统-客…

YOLOv8改进 | SPPF | 具有多尺度带孔卷积层的ASPP【CVPR2018】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容,内含各种Head检测头、损失函数Loss、…

基于SSM+Jsp的校园餐厅管理

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

【C语言】函数执行背后的秘密:函数栈帧的创建和销毁超详解

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1. 什么是函数栈帧 2. 理解函数栈帧能解决什么问题呢? 3. 函数栈帧的创建和销毁解析 3.1 什么是栈? 3.2 认识相关寄存器和汇编指…

感恩父爱 健康同行 宁夏康源父亲节特惠普查

父亲,是那道坚实的屏障,为孩子们挡风遮雨。父亲,是那颗明亮的灯塔,为孩子们指明前进的方向。然而岁月无情,随着年龄的增长,曾经为我们遮风挡雨的父亲如今也逐渐进入了各种疾病的高发期。感恩父爱&#xff0…

selenium前期准备

1. 驱动地址: a. chromedriver:https://googlechromelabs.github.io/chrome-for-testing/ b. https://registry.npmmirror.com/binary.html?pathchromedriver/ 下载好的驱动一般放在Python初始文件夹下,例如:D:\Python3.8 2. selenium原理…

USB2.0学习4--USB包结构和包类型

目录 1. USB包基本结构 1.1 SOP域(Start Of Packet) 1.2 SYNC域(同步域) 1.3 PID域(标识域) 1.4 地址域(ADDR) 1.5 帧号域(Fram) 1.6 数据域&#xff…

医卫兰大药学试题及答案,分享几个实用搜题和学习工具 #经验分享#笔记#知识分享

随着信息技术的快速发展,搜题软件应运而生,为大学生提供了便捷的问题解答方式。 1.滑记 你可以选择一个学习类别,部分学习类别包括了多个学习卡包,每个学习卡包提供了简介和目录,每个学习卡包有多张学习卡片。 里面…