白癜风规范化 http://pf.39.net/bdfyy/zjft/180423/6185586.html
前言
前段时间,公司上线了“大屏”项目,用于对接展示一些业务平台的数据。但是在上线后使用过程中,产品或业务经常反馈前台页面没有数据。出现这种情况后,开发人员会去排查问题,解决后再通知产品或业务人员解决修复情况。虽然研发每次都能在较短的时间内响应并解决问题,但运行一段时间后又会反复出现,也给用户造成了极其不好的使用体验。而本文则是基于“测试右移”思想,开展的一次后台服务监控告警的实践记录总结,整个实践过程可以分为:
收到问题反馈;
沟通定位问题;
讨论并选定解决方案;
解决方案实现;
验证解决方案;
优化解决方案;
实施解决方案;
什么是“测试右移”
在正式开始之前,先简单介绍一下“测试右移”:
我们都知道,软件测试活动应当贯穿整个软件生命周期,包括需求讨论分析阶段、研发设计编码阶段、测试阶段、上线后的监控运行阶段。“测试右移”是在产品上线后,为了验证在真实的用户数据环境下,功能、性能以及产品体验,是否符合预期而开展的一系列监控、分析、测试活动,以达到持续监控软件线上质量的目的。一旦线上发生任何问题,则可以提前反应,主动分析,尽快处理,给用户以良好的使用体验。
一、收到问题反馈
从项目上线不久,即收到产品多次在项目群中反馈的以上问题。开发经过定位后,给出的说法是“后台链接断掉了”。在其重启后台服务后,该项目确实平稳运行了一段时间,但一段时间后,又会再次发生链接断掉、前台无数据展示的情况。此问题给用户造成了很不好的使用体验。
二、沟通定位问题
1.服务架构
经过和研发的几次沟通交流,我画了份草图,尝试理解和说明问题的产生原因。先简单介绍一下大屏项目的后台服务架构,后台服务假设为B服务。B服务监听的是本地端口,通过TCP与网关进行连接,网关通过websocket将B服务传来的后台数据推送给前端进行展示,用户可以通过端口进行页面访问。网关与前端之间的websocket连接相对较为稳定,导致出问题的是B服务与网关之间的TCP连接经常断掉,从而导致网关拿不到数据,前端无法展示数据。
三、讨论并选定解决方案
1.讨论分析解决方案
既然了解了问题所在,那么就可以针对性地设计解决方案。经过与研发的交流讨论,共总结了以下方案:
①监控后台服务端口
通过shell脚本+定时任务,每几分钟轮询一次,判断端口是否处于连接状态,来确定后台服务与网关之间的TCP链接是否正常,若是断链,则向企业