修改HBase的rowkey设计把应用的QPS从5W提升到50W
UTT是Aliexpress的营销消息运营平台,运营希望促销活动时APP消息推送的QPS达到34W。 UTT刚接入APP消息推送时,QPS只能达到5W,离运营的要求有很大的距离。 通过改造,QPS达到了50W,其中最主要的改造是对Hbase的rowkey的改造。 首先介绍一下UTT大致工作流程: 1、运营人员在UTT的小二控制台配置运营任务(job),在任务中设置商品选择参数、目标人群参数和消息发送渠道; 2、UTT调用算法平台计算出要发送的消息,数据生成在阿里云飞天系统的云梯表中; 3、UTT把云梯表中的数据导入到hbase,并生成N个可以并发执行的发送任务(segment),segment的信息存储在mysql表中; 4、UTT按计划发送时间捞取segment,把存储在Hbase中的segment对应的消息读取出来调用阿里巴巴移动消息推送网关发送出去。 步骤1、2、3是提前执行的,我们要优化的是步骤4。 改造中,我们主要做了如下几件事: 1、修改了Hbase的rowkey规则和数据读取方式; 2、优化了记录发送进度的逻辑; 3、优化了消息发送到阿里巴巴移动消息推送网关的流程。 其中...