后端脚本类项目的弊端
难以管理
脚本多,意味着业务也复杂,交错纵横的数据流都隐藏在脚本中,后期很不好查找定位。
而且脚本程序的代码质量普遍偏低,大多都是流水账式的编程。
另外,编写脚本时没有考虑到后期维护,没有增加一些调试功能,也会导致管理上的问题。
性能问题
脚本往往需要频繁更新数据库,而且脚本中经常为了简化代码,将业务功能通过复杂的sql来实现,这些写入操作会导致数据库堵塞,从而影响前端页面的访问速度。
一个很典型的案例,就是cso盘后跑了很多脚本,导致后台在这段时间经常访问出错。
多服务器的一致性
有多台服务器的应用,脚本也需要判断是单台执行还是多台执行,如果是文件缓存,经常会出现因为两台服务器脚本执行结果不一致,导致部分用户看到的数据异常的问题。
解决方案
1.定期清理脚本。脚本需要持续维护,特别是需求发生大的变更时,往往会产生一些冗余脚本,需要及时清理掉。
2.编写时考虑性能。能批量更新数据库的尽量批量更新;能多进程请求接口的尽量多进程;不要在循环中执行sql和请求接口。
3.拆分脚本功能。不要流水账一写到底,特别是流程较长的脚本,应该拆分一下,然后设计断点重新执行的功能。不然一个脚本如果执行一次耗时30分钟,失败了又要全部执行一次,那调试起来绝对是个噩梦。
4.增加debug参数。默认情况下debug=false,不开启输出;一旦开启,将过程变量打印出来,便于调试定位。
5.通过工具管理脚本。
6.脚本服务器和前端服务器、数据服务器分离开。