当产品部署出现问题时
产品的部署会有两种情况,一是升级版本,二是直接使用某个版本,但不管是哪种情况,部署完的时候某些功能可能会有问题。
这个时候我们需要依序检查环境和程序。
1.检查数据库
很多的时候,程序本身并没有问题,是数据库导致的错误,一般就是两种问题。
(1)数据库结构
数据库结构有问题,缺少表或字段。
如果是升级版本,那要看是否增量脚本缺少sql语句或某些sql语句没有执行。如果是直接使用某个版本,那也要看全量脚本是否缺失sql语句。
PS:缺少字段或者表可以从运行日志看,看日志是非常重要的。
(2)数据库数据
当然,有的时候数据也会导致程序出错。
说几种例子,必须存在的数据没有设置(有些操作依据这些数据);冗余的数据没有删除;数据错误(一般是在升级时候,数据迁移出错);其实总结起来就是,数据少了、多了、错了。
PS:数据问题一般从运行日志中间接知道问题所在
2.检查服务器
以Tomcat为例,把产品部署在Tomcat里。
(1)使用稳定的Tomcat版本
有时,程序在一些不稳定Tomcat版本(稳不稳定见仁见智)可能会出现问题。
(2)配置Tomcat
确定使用稳定的Tomcat,那就需要对其进行配置。例如,配置内存设置、server.xml等
例:客户端发请GET请求,如果这个请求地址上有中文,而且也没有进行encode的时候,后端就可能接收到乱码。这个就是需要配置tomcat
3.检查程序
前两步都检查过了,那接下来就检查程序的问题。
(1)检查后端日志
检查程序问题的手段最直接的也就是看日志,日志在查错是非常关键的。找到错误出现的位置,根据错误再查看程序代码,差不多也就能找到问题(有些问题很***钻,例如使用了负载均衡,一台机上有问题,另一台机却没问题)。
PS:前几步都有讲到使用运行日志,所以这里不得不说的是,程序日志必须写好,特别是复杂的功能,不写好日志简直是在找死,到时出错就是一头雾水。
(2)检查移动端日志
将手机连到电脑上,打开android ADT,操作应用,查看log,这就能查看终端运行日志。
PS:这两步查看一般都能确定是后端问题,还是前端问题(这里说的是大前端,终端也叫前端)。