找文章 / 找答案
分享到

京东618实时数据大屏核心技术解密

用户分享 2021-9-26 14:11 1715人浏览 0人回复
摘要

一、背景刚过去的618,京东销量GMV超3000亿。(1)从用户在京东app、小程序、网页端下单、支付,到最终大屏上GMV和订单量实时累加,这中间究竟发生了什么呢?(2)如何才能做到,用户下单,大屏上能够实时统计呢?(3)从 ...

一、背景
刚过去的618,京东销量GMV超3000亿。

(1)从用户在京东app、小程序、网页端下单、支付,到最终大屏上GMV和订单量实时累加,这中间究竟发生了什么呢?

(2)如何才能做到,用户下单,大屏上能够实时统计呢?

(3)从用户下单,到最终支付完成,后来又取消了这笔订单,大屏上GMV和订单量的总值如何做到既要保证极高的时效性,又要保证较高的准确性呢?


二、系统整体架构
(1)业务流程梳理:

用户在京东上购物,可能会经过以下几种流程,用户下单、支付订单、取消订单、订单拆单(由于商品在不同的仓库等原因)

 

(2)大屏整体系统架构

从线上mysql binlog、日志、MQ消息接入(线上数据),存储在JDQ、JMQ当中(数据存储层),通过实时计算组件Flink、Storm等进行实时计算,关联维表数据以及调用线上接口服务JSF进行维度信息关联(实时计算层),最后将计算指标存储在redis、mysql 中,或者将明细数据写入OLAP当中(数据指标层)。最后对外提供服务或者应用,包括:大屏、看板、销量榜单排行等等。

系统整体架构图参照下图:



(3)实际线上业务遇到的问题

a、数据倾斜、redis数据热点?

redis探针解决数据热点问题,对热点key进行hash

b、如果做到精确一次?

采用幂等来进行保证一次的。

c、Flink 背压、Flink 调优

增加并发度、优化程序代码、调整slot、避免频繁调线上JSF服务增加缓存

d、数据延迟(订单取消比订单下单先到达)

将所有消息进行存储JDHBase,进行关联,构造宽表,下游业务进行判断

e、高可用保障

主备集群,异地容灾

f、数据质量、数据准确性保障

数据质量告警配置、离线实时数据校验

g、大促压测

h、监控、告警

任务失败监控、消息挤压的监控

m、高时效性

Flink 低延迟计算引擎

(4)数据大屏可视化

阿里云(DataV)

网易有数(EasyScreen)

腾讯云(腾讯云图)

百度Sugar


三、总结
本文讲述了京东618实时数据大屏,从用户下单到最终大屏指标计算,呈现给用户。对当中整个流程进行了详细的阐述,以及在开发过程中遇到的问题也进行详细的描述。希望能给搭建大屏的读者提供一个思路。

本文暂无评论,快来抢沙发!

4 文章1 人气
大数据
热门问答
  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部