写点什么

京东 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:075473

评论 2 条评论

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

开源商业化:满足各方底层需求

茶陵後

开源 开源社区 开源文化

Rust从0到1-函数式编程-性能比较

rust 函数式编程 Performance 性能比较

Linux之head命令

入门小站

Linux

【LeetCode】传递信息Java题解

Albert

算法 LeetCode 7月日更

区块链:从根儿上解决2%的人拥有80%的财富全球社会问题

CECBC

【带你手撸Spring】没有哪个框架开发,能离开 Spring 的 FactoryBean!

小傅哥

spring 小傅哥 代理对象 FactoryBean Bean作用域

vue keep-alive(1):vue router如何保证页面回退页面不刷新?

zhoulujun

Vue vue-router keep-alive 页面缓存

SQL 居然还能在 Apache ShardingSphere 上实现这些功能?

SphereEx

【Flutter 专题】129 图解 ToggleButtons 按钮切换容器组

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

并发王者课-铂金05:致胜良器-无处不在的“阻塞队列”究竟是何面目

MetaThoughts

Java 多线程 并发 并发王者课

解析对偶理论与对偶单纯性法

华为云开发者联盟

模型 对偶理论 对偶单纯性法 对偶 线性规划

Camtasia实用技巧之视频剪辑

淋雨

视频剪辑 Camtasia 录屏软件

如何做好IT项目管理?

万事ONES

IT 项目经理 项目管理工具

“区块链贸易融资生态”应用案例发布

CECBC

DGTT矿机软件开发|DGTT矿机系统APP开发

ASL公链软件开发|ASL公链系统APP开发

Pano Flutter SDK 设计经验与实践浅谈

拍乐云Pano

聊聊知乎订单系统迁移

知一

监控 软件开发 系统架构 重构 订单系统

【源码系列】Spring 过滤器和拦截器

Alex🐒

spring 源码 Spring Framework

如何实施 SCRUM ?

万事ONES

项目管理 Scrum 敏捷开发 看板 ONES

视频 QoE 的平衡之道—揭秘网易云信 NERTC 视频质量控制系统

网易云信

视频 Qoe

测试开发之网络篇-网络路由

禅道项目管理

网络

vue keep-alive(2):剖析keep-alive的实现原理—学习笔记整理

zhoulujun

Vue vue源码解读 keep-alive实现原理

Python 没有函数重载?如何用装饰器实现函数重载?

华为云开发者联盟

Python 装饰器 命名空间 函数 函数重载

JAVA九种排序算法详解(上)

加百利

Java 数组 排序 7月日更

华为云原生媒体网络,升级传统,赋能未来

华为云开发者联盟

云原生 直播 TechWave 媒体网络 云视频

在线图片转base64工具

入门小站

工具

13万张表+数亿行代码,迁移只需数小时,还是异构数据库

华为云开发者联盟

数据库迁移 DRS 华为云数据库 异构数据库 华为云UGO

视赏家短视频系统软件开发详情

DMD钻石币质押软件系统开发内容

环球旅游积分GTC系统开发内容

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