关于项目刚上线前后端所遇到主要问题的复盘

简介: 最近正在做的项目上线了,问题很多,有前端的问题也有后端的问题。最近也接触了一点公司的后端,顺便一起简单的总结一下。

image.png


大家好,我是 那个曾经的少年回来了。10年前我也曾经年轻过,如今已步入被淘汰的年龄,但现在幡然醒悟,所以活在当下,每天努力一点点,来看看2024年的时候自己会是什么样子吧,2024年的前端又会是什么样子,而2024年的中国乃至全球又会变成什么样子,如果你也有想法,那还不赶紧行动起来。期待是美好的,但是更重要的是要为美好而为之奋斗付诸于行动。


1、前言


最近正在做的项目上线了,问题很多,有前端的问题也有后端的问题。最近也接触了一点公司的后端,顺便一起简单的总结一下。


  • 应用主要是微信小程序和PC后台, 下面是微信小程序的访问


image.png


这里是正在使用的人数,应该在11月底的时候可能达到访问使用的高峰,情况好的话可能存在上万人的访问使用。


  • 服务器配置 mysql数据库,一主四从 其实我觉得超配了


image.png


  • 应用服务器的话 现在使用了三台应用服务器作为负载均衡


2、前端


先说一下前端的问题,这里对代码的探讨不做过多的展示,主要简单说明一下技术的实现方案。


2.1、技术选型问题


h5嵌套到小程序的webview,但是又要用到小程序里的地图定位,就需要由H5跳转到小程序的页面,然后要由小程序页面返回到webview中的h5,这里还需要有一个返回值传到h5中,这里我暂时没想到办法,至少我没想到办法回传数据,于是只能简单的写个定时器,不断的通过接口调用,相当于数据的回传刷新了。


这里如果完全是小程序的页面就不会存在这个问题了,不过水饺咱没时间全部用小程序的页面呢?


2.2、表单重复提交问题


由于项目中主要的就是数据的录入,所以出问题最多的就是在表单多次提交,其实也有很多的方法。


  • 方法一: 按钮提交时,将按钮设置为加载状态,并不可点击。
  • 方法二: 通过pinia保存状态数据,点击保存时对比数据,数据如果未被修改,则不调用接口保存,有效的减少了服务器写入数据的压力。


2.3、缓存问题


由于是h5嵌套到webView的小程序中的,所以有时候明明更新了前端,用户却还是之前的版本,这里想到的办法就是通过nginx 配置 缓存


location /{
    alias /usr/local/xxxx;
    index index.html;
    add_header Cache-Control no-cache;
}

no-cache 协商缓存,每次也去服务器请求,但会进行判断是否是新的资源,如果是旧的资源,则直接返回304使用客户端的缓存。


no-store 相当于每次请求都会从服务器获取前端页面,不会进行缓存。


当然这里其实还存在一个问题,


2.4、其他


当然还存在其他一些小问题,比如用户操作便利性的改进,以及友好的错误提示,首页访问较慢、qiankun自子应用加载慢的问题都需要进一步研究解决 等等。


3、后端


由于我也参与了一些后端接口的工作,对整个前后端的情况都有所了解。


3.1、重复数据


由于前期时间确实比较紧张,准备不足,导致程序存在一些问题,经过排查发现,在导入数据的时候没有判断数据的唯一性,导致数据重复。这个算是一个bug,目前已经修复了。


3.2、数据延迟


由于高峰期存在接口10秒都没有提交成功的情况,后来发现mysql事务中的查询存在比较大的耗时,经过调整添加索引修改查询条件,不进行全表扫描,目前观察不存在事务高峰期数据并发导致Mysql数据库CPU拉满的情况。


3.3、日志处理


应用中存在记录日志文件过大,并发量大的时候,导致频繁插入,而且文件越大插入速度必然很慢,这里做了文件大小限制,将大小设置未10M,很小了,速度非常快。并且在应用中对日志类型也就是写入日志的频次进行 修改,没有必要的日志进行了移除。


3.4、用户身份


通过调试发现,每次接口调用,用户身份信息都会重新获取,而且要请求mysql,这个看了一下并不是那么容易处理,暂时还没解决。这里可以进行缓存处理,但是发现有一点复杂,后面有时候肯定还是要处理的。


4、 总结


最近刚好在重装自己的办公电脑,以及个人华为云服务器,总结还需要加强的一些知识点


  • linux磁盘挂载问题
  • mysql数据备份问题
  • 服务器扩容前的处理事项、应用备份、以及相关配置文件
  • 服务器扩容后的检查工作、磁盘状态、应用、数据库、redis等正常使用
  • mysql数据库索引在查询方面真的太重要了
  • mysql 主从同步、读写分离
  • 应用层的负载均衡


我的个人博客:vue.tuokecat.com/blog

我的个人github:github.com/aehyok

我的前端项目:pnpm + monorepo + qiankun + vue3 + vite3 + 工具库、组件库 + 工程化 + 自动化

不断完善中,整体框架都有了

在线预览:vue.tuokecat.com

github源码:github.com/aehyok/vue-…

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
JavaScript
JS检测客户端是否安装
JS检测客户端是否安装
|
消息中间件 运维 Serverless
商业版vs开源版:一图看懂云消息队列 RocketMQ 版核心优势
自建开源 RocketMQ 集群,为保证业务稳定性,往往需要按照业务请求的峰值去配置集群资源。云消息队列 RocketMQ 版 Serverless 实例通过资源快速伸缩,实现资源使用量与实际业务负载贴近,并按实际使用量计费,有效降低企业的运维压力和使用成本。
1145 128
|
应用服务中间件 PHP nginx
layui框架实战案例(15):上传提示413 request entity too large宝塔配置的解决方案
layui框架实战案例(15):上传提示413 request entity too large宝塔配置的解决方案
683 0
|
3月前
|
Android开发 iOS开发
阿里云 Qoder 夜间折扣上线,每晚 22:00 到次日 08:00,放开用!
阿里云Qoder推出“Night Qoder”夜间折扣:每晚22:00–次日08:00自动享优惠,Qwen3.7-Max低至2折(省80%),Plus版4折(省60%)。全系产品覆盖,无需报名,模型能力不变,仅计费更优。今夜就启程!
579 0
|
4月前
|
人工智能 供应链 算法
从“小单困局”到供应链Agent:成本结构、博弈逻辑与人机协同的技术推演
本文剖析C2M服装供应链中“小单困局”的本质——切换成本在极小批量下不可摊销的数学必然。通过Agent集群实现成本透明化、智能拼单与品类感知,推动供应链从零和砍价转向正和协同。人机分工明确:AI做“数字包工头”,人当“关系架构师”。(239字)
|
3月前
|
存储 人工智能 安全
Hermes Agent 从零到一:4 大核心模块 + 3 种开箱即用配置,建议收藏
Hermes Agent 配置教程:模型选择、执行环境、记忆能力和工具集成四大模块全覆盖,新手用 hermes setup 10 分钟快速上手,进阶用户可手动定制 Docker 沙箱、飞书网关、安全策略等。
556 0
|
8月前
|
人工智能 开发框架 负载均衡
JBoltAI与SpringAI:技术架构对比与选择思考
JBoltAI与SpringAI在事件驱动、插件扩展、资源池化及链式调用等方面各具优势。前者灵活高效,适合复杂动态场景;后者生态成熟,稳定性强。开发者应根据项目需求权衡选择,实现最佳技术适配。(238字)
188 8
|
10月前
|
弹性计算 人工智能
阿里云优惠券:免费领取、代金券查询及使用方法,购买云服务器省钱方法
阿里云优惠券免费领!个人可领12张代金券(总值2088元)+6折折上折券,企业享5亿算力补贴,学生领300元无门槛券。下单结算自动抵扣,查券路径:费用与成本-账户-卡券。先领券再购买,省钱必备!
525 0
|
JSON 前端开发 安全
前端开发中常用的鉴权方式解析与实践要点
本文深入探讨了前端开发中常用的鉴权方式,包括HTTP基本鉴权、Session-Cookie鉴权、Token验证、JWT(JSON Web Tokens)、单点登录(SSO)和OAuth等。文章首先明确了认证、授权、鉴权和权限控制的概念及关系,随后详细解析每种鉴权方式的工作原理、优缺点及适用场景。例如,HTTP基本鉴权简单但安全性低,适合内部网络;Session-Cookie鉴权易受CSRF攻击,适用于同域Web应用;Token和JWT无状态且扩展性好,适合分布式系统;SSO提升用户体验,适用于多系统统一登录;OAuth安全方便,适合第三方授权接入。
1646 2
|
存储 分布式计算 算法
大数据中一致性检查
【10月更文挑战第20天】
1432 2