写点什么

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

  • 2021-06-30
  • 本文字数:898 字

    阅读完需:约 3 分钟

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

一、背景

刚过去的 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 实时数据大屏,从用户下单到最终大屏指标计算,呈现给用户。对当中整个流程进行了详细的阐述,以及在开发过程中遇到的问题也进行详细的描述。希望能给搭建大屏的读者提供一个思路。


作者简介

诸葛子房,曾供职于京东,现就职于 BAT,在大数据领域有多年实践经验,欢迎加微信:zhugezifang001 交流

2021-06-30 17:075580

评论 2 条评论

发布
暂无评论
发现更多内容

Android 11适配指南之Toast解析

yechaoa

android 适配 6月月更 11.0

讲讲我的不丰富的远程办公经验和推荐一些办公利器 | 社区征文

Regan Yue

远程办公 初夏征文

openGauss Developer Day 2022正式开启,与开发者共建开源数据库根社区

微信视频号如何用 PC 电脑做直播?

boshi

直播 视频号

Vue2/3 自定义组件的 v-model 到底怎么写?💎

德育处主任

JavaScript Vue model Javascript框架 6月月更

远程办公之:如何成为时间管理大师?| 社区征文

甜甜的白桃

初夏征文

Flutter中的GetX状态管理用起来真的那么香吗?

岛上码农

flutter ios 移动端开发 安卓开发 6月月更

事件

Jason199

js 事件 6月月更

flutter系列之:flutter中的offstage

程序那些事

flutter 程序那些事 6月月更

Prometheus PushGateway 碎碎念

耳东@Erdong

Prometheus PushGateway 6月月更

给你讲懂 MVCC

Nick

MySQL 源码 MVCC 6月月更 深入解析

小程序容器到底是什么

Geek_99967b

如何低成本构建一个APP

Geek_99967b

小程序

一文简述:供应链攻击知多少

穿过生命散发芬芳

供应链攻击 6月月更

ribbon

卢卡多多

6月月更

Java中使用正则检查有效日期

okokabcd

Java

Fabric.js 手动加粗文本iText

德育处主任

canvas FabricJS 6月月更

开发协同,高效管理 | 社区征文

武师叔

初夏征文

C语言自定义类型的介绍(结构体,枚举,联合体,位段)

未见花闻

6月月更

一款支持内网脱机分享文档的接口测试软件

Xd

Java 后端 接口测试工具

一次 MySQL 误操作导致的事故,「高可用」都顶不住了!

悟空聊架构

MySQL 高可用 悟空聊架构 6月月更 事故复盘

JVM调优简要思想及简单案例-怎么调优

zarmnosaj

6月月更

linux存储结构与磁盘划分

乌龟哥哥

6月月更

华为云低时延技术的九大绝招

坚果

6月月更

Java Core 「16」J.U.C Executor 框架之 ScheduledThreadPoolExecutor

Samson

学习笔记 Java core 6月月更

什么是数据中台

奔向架构师

数据中台 数据仓库 6月月更

apipost接口断言详解

Xd

Java 接口测试工具

uni-app进阶之认证【day12】

恒山其若陋兮

6月月更

浅谈如何运营好小红书账号:利用好长尾词理论

石头IT视角

一个使用 Shell 脚本实现的 Docker

野翰林

京东618实时数据大屏核心技术解密_服务革新_诸葛子房_InfoQ精选文章