实时计算-多级订单金额,及下级人数

人物关系为代理模式,一级代理包含二级代理,二级代理包含三级代理。

需求为实时计算每个用户的订单金额,并取出金额的TOP100。

并实时计算当天下级人数。

1.1 指标使用方式

单用户订单列表查询:查询订单表,不限定日期。

当天订单额top100:查询指标表对金额排序取前100,限定日期当天。

当天下级人数:根据用户id查询级别表统计行数,限定日期为当天。

1.2 系统概述

系统离线和实时合二为一,实时只需限定日期为当天,即为实时数据;离线数据只需指定日期即可。

1.3 性能概述

计算引擎,Flink是纯流式架构,可保证数据的低延迟处理。

存储:此套系统采用HBase+Phoenix作为存储,适当设计好索引可将查询延迟控制在2秒以内,tps数量和RegionServer数量呈正相关,此套系统可满足当前需求。

2 系统目标 1.1 容错性

对于当天的实时报表,容错能力详见处理逻辑。

1.2 可扩展性

此系统增加hbase RegionServer服务器数量对代码无影响。

1.3 健壮性

此套系统配置,随着订单量增加,HBase可支持的数据量可达亿级别。若业务暴增,系统磁盘受限,tps到达瓶颈,可适当增加机器节点,同样对业务代码无影响。

1.4 吞吐量

月增订单量大概在500W,单日增量20万左右,此系统设计至少满足于1年需求,实际的吞吐量根据集群而定,按照我的设计,集群平均tps在2500左右,目前能满足该需求。

1.5 数据倾斜

为防止数据倾斜,建表是可对Phoenix进行加盐或者指定split key。

1.6 一致性

HBase为强一致性,所以不存在并发修改问题。

1.6 高可用性

HBase为集群,基于Hadoop的HDFS,可设置副本集为3,此系统为3台节点,允许宕机一台,若要求高可用级别很高,则需相应增加机器。

3 业务流程

 

实时计算-多级订单金额,及下级人数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspxyx.html