这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天
一、抖音春节活动
春节集卡瓜分20亿活动带来的问题
用户规模大、资金规模大、qps读写次数巨大
分布式定时任务= 自动化+定时执行+海量数据+高效稳定
二、发展历程
1、windows批处理
什么是批处理?
-
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展
名为bat -
目前比较常见 的批处理包含两类:
- DOS批处理和PS批处理。
- PS批处理是基于强大的图片编辑软件
- Photoshop的,用来批量处理图片的脚本;
- 而DOS批处理则是基于DOS命令的,用来自动地批量地执行
- DOS命令以实现特定操作的脚本。这里要讲的就是DOS批处理
-
批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的
命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行 -
批处理类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件
如何创建及使用批处理
首先需要在桌面创建一个后缀为.bat的文本文档,文档内容需要根据相关的命令编写。运行时双击文件即可, 一般情况下,每条命令占据一行 当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中 还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出
2、分布式定时任务的特点
- 自动化:全自动完成定时任务的调度及执行
- 平台化:基于平台化的思维管控一系列分布式定时任务
- 分布式:在分布式系统运行环境下运行任务调度
- 高可用:单点故障不影响最终结果,故障可转移
三、业务应用
所有需要定时、延时、周期性执行任务的业务场景,都可以考虑分布式定时任务
电商
- 订单30分钟未付款自动关闭订单
- 定时给商家发消息,给用户发优惠卷
互动
- 支付宝集五福
- 字节春节集卡瓜分红包
游戏
- 活动结束后批量补发用户未领取的奖励
- 定期更新游戏内榜单