阿里流计算平台开发实例之电商双11实时计算

  • 时间:
  • 浏览:0

注解说明:

a、 在流计算引擎中建一张表,该表的名称是哪几个,建议和DataHub上一致

b、 要引用到该表的哪几个字段,建议不都要的字段过多说引用

c、 系统自建的TOPIC,该字段纪录的是该行数据是更新还是插入还是删除

d、 流计算都要能引用多种数据源,这里表明数据源类型

e、 固定写法

f、 DataHub上的项目名称

g、 DataHub上的topic名称

h、 DataHub默认保留十天内的业务数据,该时间指定流计算引擎从哪个时间点取数

图:流计算数据逻辑设计图

一、 项目案例

用户商业模式含盖电商零售与加盟店批发零售,本次主要业务需求在于淘宝双11期间能实时计算用户所关注的有些指标数据,如:订单数、订单金额、商品SKU数、订单来源地、商品排名等等。

基于哪几个指标需求,除了要达到实时的要求以外,还都要具备适当的展现图设计,本次使用的是阿里云的DATAV,提供饼状图占比分析、商品与类目数据排名、国家地图热力展示等等。

二、 技术架构不可能 用户的数据在云下,让让我们考虑的首先是迁移数据上云,再通过DTS将数据同步至DATAHUB,接着使用阿里流计算开发平台接入DATAHUB数据,并开发流计算代码,将执行结果输出至RDS MYSQL,最后DATAV引用RDS数据并开发图形展现界面。最终设计的技术架构如下图所示:

三、 技术实现

1、 数据迁移与数据同步:不可能 数据只能直接到DataHub,使用阿里云DTS工具先完成数据迁移至RDS,链接:https://dts.console.aliyun.com/ 。再使用其数据同步功能,将RDS数据同步至DataHub(注:RDS收费可包月、DTS收费按小时)。在数据同步环节都要注意,根据企业数据量的大小,调整数据传输的通道大小。另外DataHub会自动创建对应同步的表的Topic,也不 不都要在同步前自建Topic,建了会报错。(注意系统生成的Topic与自建的有哪几个不同)

2、 StreamComputer流计算开发:其开发办法和技术要求,相比传统的开源产品,要简单有些,为何让流计算平台功能比较充沛,有点是监控系统。其链接地址是:https://stream.console.aliyun.com。

2.1、datahub业务表的引用:

图:定期调任务刷数据

注解说明:

a、 该表的主键是哪几个,都要指定

b、 维表的固定写法,表明维表的更新时间(默认是多久?调整更新时间为何弄?)。

注意该表的来源是rds,后面 的连接办法和正常的MYSQL连接办法没哪几个区别。

2.3、数据输出表的写法和维表的写法基本一致,也不 没人PERIOD FOR SYSTEM_TIME,要提前在RDS上建好即可。

2.4、应用脚本开发:将引用到的业务表与维表进行关联,将数据输出至目标表

五、项目压测

为了保障数据爆发时,平台依然能稳定的工作,让让我们进行了相关的有些测试。首先模拟多量的数据产生,确认数据从本地库至RDS的同步时间,RDS至DATAHUB的时间,以及流计算发生理的时间。

通过多次的测验得出:当数据量持续比较大的状态下,数据会有有些延迟,性能瓶颈主要体现在RDS以及DTS同步至DATAHUB环节,其中后一步比较明显。而平台稳定性基本上是都要能的,流计算的正确处理速率非常令人满意。

注解说明:

a、和标准SQL没过多区别,主要也不 维表的使用办法略有不同,不过也是固定写法,照抄就行。

注意:不可能 原始数据有插入、删除、更新五种动作,也不 DataHub上也会有五种状态的数据,这就都要分别进行正确处理,为何让数据会不准。

3、 DataV开发:此处省略,简单归纳即:托另一两个 图形,写另一两个 SQL。

四、项目预案

不可能 流计算不可能 发生的风险,让让我们考虑以传统的计算办法开发第二套方案,当流计算出故障时,能快速切换方案,保证数据基本能正常使用,不可能 延迟会大有些。

通过评估,不可能 数据量预计过多过多,考虑使用定时调存储过程的办法计算指标到第二套输出表上,再开发第二套报表,展现和第一套一致。设计图如下: