线上会存在一种任务,定时或者手动出发,我们称之为“脚本”,也可以称之为“job”
一、脚本的特性
- 无过程:只有开始和结束,过程迅速且黑盒。
- 无交互:脚本处理的业务场景都几乎没有交互,只有数据被改变。后续逻辑才有交互。
- 速度快:脚本处理速度快,一般在从开始到结束,在ms级别。
- 风险高:脚本逻辑如果有误,一般会导致数据错误,容易引发较严重的线上故障。数据修复成本高。
- 无预发:目前job类服务是不支持预发环境验证的,不能语法环境验证,只能直接上线。
二、脚本可能用在什么情况
- 数据清洗:同库同表情况下,数据资源替换;
- 数据库同步数据到内存缓存:每N时间,同步一次数据库信息到内存;
- 流水对账:结算相关,使用脚本对营收流水数据对账;
- 结算:X内容结算为Y货币,使用脚本进行数据结算;
- T+1生成数据:货币等审核数据同步;
- 活动玩法:一次性的晋级淘汰玩法之类的;
- 大量数据拉取信息:一般用在活动,结束后需要拉取特定条件的信息,方便产品做后续的数据测算;
- 批量报名:一般用于活动,多阶段时,使用脚本完成赛段之间的数据拉取和报名;
- 数据检查、补偿:按分钟进行数据检查,补偿发放奖励等逻辑&#x