建设银行官网的网站首页,上海网站推广维新,wordpress 中文标签 404,wp网站做404项目场景#xff1a;
智慧门禁系统#xff0c;公司研制的一个saas系统#xff0c;基于Springcloud框架#xff0c;主要是面向高校对老师学生的通行方式做统一的管理#xff0c;可通过卡、码、脸等多种方式进出#xff0c;可实现不同人员进出不同的场所#xff0c;例如宿…项目场景
智慧门禁系统公司研制的一个saas系统基于Springcloud框架主要是面向高校对老师学生的通行方式做统一的管理可通过卡、码、脸等多种方式进出可实现不同人员进出不同的场所例如宿管人员不可进入图书馆。
在此也告诫我们coding其实很简单但是要考虑接口对数据库中间介的影响和接口可支持的并发量你无法预测项目未来的用户量。 问题1: 项目OOM
有一场景是通过门禁系统对面板机进行下发人脸项目OOM。 原因分析 低级问题进行数据下发设备要求执行的协议是进行下发照片base64数据想当然的对照片批量进行转换Base64OOMList体过大。 解决方案 改为for循环一张张照片转换下发下发完成及时清理。 问题2: 项目OOM
有一场景是通过门禁系统对面板机进行下发人脸后续调用业务系统OOM。 原因分析 iot系统进行统一合并至物联网关后业务线进行统一下发物联网关不允许直接对接操作设备由于同步人脸数量过多整个学校的人员大概两万多张。哈哈哈哈哈并发过高大量的Base64流打过去物联网关系统down了。 解决方案 1. 网关增加限流处理。 2. 由于图片是从阿里云取的改为传递url但是要注意图片有效期 问题3: mq疯狂堆积
有一场景是通过门禁系统对面板机进行下发人脸发送mq进行异步处理然后自消费下发到设备线上mq疯狂堆积和重试对公司所有业务线都造成了严重影响。 原因分析 我特喵我也是接盘的。 1. 发送mq没有考虑过这种场景是否适合使用mq下发2w个人脸直接mq怼怼怼了两万条进去其中信息中还包含着base64流一张照片1M算的话2w张照片*设备数量诸位自行体会mq的磁盘占有量。 2.没有考虑超时未回复ack的情况在频繁重试。 3.异常处理不到位对业务异常和代码异常都进行重试处理如果是业务异常照片不符合规范重试也没用。 解决方案 1. 临时紧急发版消费代码全部删除全部进行消费。 2. 取消mq的使用考虑下发人脸的场景既不涉及支付又无关痛痒改为异步线程处理LIst中含两万个名单本身对内存占有率影响不大。 问题4: 数据库拖死
设备会实时的进行通行记录的上传某某某同学通过哪个设备进入了哪里由于校方有台设备长期处于离线过程中某一天它突然上线了开启离线上传可谓是一瞬间怼过来了8w条数据由于整个公司的业务线都是一个数据库上导致其它业务线都受影响。 原因分析 我特喵我也是接盘的也是之前哥们给我留的小惊喜 1. 主要还是接口的并发量过高。 2. 接收通行记录后推送了一个大屏没有人连接大屏的socket也进行推送了推送的代码中查询了通行记录这张表这张表的数据量已经超级多了也相当于查询了8w次大批量慢sql。 解决方案 1. 接口增加限流处理。 2. 项目问题太多了影响到其它业务线了把我们撵出来了....单独购买了一个数据库。 3. 不是当日的数据不进行推送无人连接socket不进行推送。 4. 通行记录表索引优化。 复盘总结 问题还有很多正在整理过程中。 1. 在coding过程中一定要做好代码评审环节。 2. 及时发现问题钉钉告警群等出问题第一时间知道而不是用户反馈。 3. 运维工具要跟上比如实时接口限流工具出现问题接口直接阻断进行流量打入。 4. 编码的性能和优化最终还是落在了我们mysql上前期一定要规划好索引查询语句要规划好后期真的欲哭无泪。