京东实时计算架构演进之路

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 京东实时计算架构演进之路

一、背景:

从2004年开始,京东进军互联网线上化开始到至今,随着京东的高速发展,京东商城的订单量从万级到百万级、最终到达亿级。而对于实时的数据需求也是层出不穷,实时计算架构随着数据量的增长,不断进行革新。

二、京东实时计算架构演进之路

(1)订单量万级、百万级(以京东海外站为例)

在订单量万级、百万级别的时候,也存在不少实时的数据需求,比如:商家需要看看自己每天的成交量、老板需要看看整体的成交金额,以为后续的融资做准备。类似于现在很多的a、b轮创业公司数据体量。

解决方案:而此时为了节省更少的资源,减少更少花销。在实时架构设计上就需要尽量用更少的成本来解决这种问题。基于mysql的实时数据统计方案就比较适合了。

步骤:将线上业务系统数据实时同步到大数据中心(在mysql的基础上搭建了一套大数据架构),避免了Hadoop生态庞大复杂的体系。基于mysql数据宽表进行数据统计,将统计结果写到mysql指标结果表中,输出一些报表或者服务。详细步骤见下图。

架构优缺点:

(1)开发简单,基于mysql,同时避免hadoop生态复杂的体系,节省开销。

(2)数据量过大,查询和聚合性能较差,mysql单表量级在百万级别。

(3)在此架构中需要对mysql及其熟练,如何设计索引,如何进行查询统计优化。

(2)订单量亿级(以京东主站为例)

随着公司的发展,数据体量的增大,达到千万甚至亿级别时,基于mysql的数据统计方案已经完全没办法满足统计需求了,mysql查询也查不动了。基于此产生了一套新的技术方案:flink接kafka消息数据,直接进行指标计算,写入到redis里面,最后提供最外提供服务。详细步骤见下图。

架构优缺点:

(1)能够支撑亿级数据量的统计需求,对于大数据量友好

(2)时效性高,计算延迟较低

(3)技术方案相对复杂,新增指标需要重新开发,上线任务。

(3)订单量亿级(以京东主站为例)

上述基于flink 直接指标计算的方案,优点非常明显,缺点也非常明显,如果新增指标,需要重新开发上线,对于频繁的业务需求变更,已经很难满足了,因此产生了基于OLAP的技术方案。Flink接kafka 消息,将明细数据写入到OLAP引擎(clickhouse、apache doris)当中,构建一张宽表,然后直接进行数据查询统计基于OLAP引擎,对于新增指标只需要新增不同的sql查询语句就能解决需求,而不用重新开发,提高了整体效率,能够应对业务的频繁变更。详细步骤见下图。

架构优缺点:

(1)能够支撑亿级数据量的统计需求,对于大数据量友好

(2)时效性较高

(3)开发简单,能够快速应对业务需求。

三、总结

随着公司高速发展,数据体量的改变对于技术的选型也是不断进行变更的。只有了解不同的技术架构的优缺点,在合适的阶段选择不同的数据架构,才能够更好的服务于业务。同时根据自己所处的公司当前的发展状况,预估公司后续的发展,在技术架构选型上也是有前瞻性的。

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


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
5月前
|
资源调度 分布式计算 Java
Flink(三)【运行时架构】
Flink(三)【运行时架构】
|
4月前
|
机器学习/深度学习 搜索推荐 算法
优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
106 0
|
10月前
|
机器学习/深度学习 存储 人工智能
完美!京东资深架构师爆肝纯手打700页架构进阶宝典我粉了
在这个大家热议的人工智能时代,也使我们有了更多的反思,其实在这些热点议题的背后,一些基础架构与底层系统技术的发展与实现或许更加务实和接地气一些,同时产业界也需要有更坚实的基础架构与底层系统技术来支撑日益增长的庞大的业务量。 对于支持庞大业务量,其中最具有代表性的莫过于现在的618双十一购物秒杀活动了。而作为参与其中的主力之一的京东,他们的基础架构与底层系统是如何搭建的呢?作为程序猿的我们,该如何脱离CRUD的苦海让自己也加入到这亿级系统的搭建中来呢?不要慌!互联网雷锋(小编我)为大家整理出两份真京东大牛编写的架构实战文档,可以说是国内架构文档的经典之作。
|
4月前
|
存储 Cloud Native 数据处理
Flink 2.0 状态管理存算分离架构演进
本文整理自阿里云智能 Flink 存储引擎团队负责人梅源在 Flink Forward Asia 2023 的分享,梅源结合阿里内部的实践,分享了状态管理的演进和 Flink 2.0 存算分离架构的选型。
845 0
Flink 2.0 状态管理存算分离架构演进
|
2月前
|
SQL API 数据处理
新一代实时数据集成框架 Flink CDC 3.0 —— 核心技术架构解析
本文整理自阿里云开源大数据平台吕宴全关于新一代实时数据集成框架 Flink CDC 3.0 的核心技术架构解析。
750 0
新一代实时数据集成框架 Flink CDC 3.0 —— 核心技术架构解析
|
2月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
61 1
|
9月前
|
NoSQL 架构师 Java
京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统
Java 的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。 1. 一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论是新手还是老手都能快速上手,快速掌握页面渲染、数据库访问等常用技术。也要求开发框架能尽量多地集成第 方工具,以便信手拈来。最后,还希望在开发调试过程中,方便代码更改后能快速重启。
|
5月前
|
消息中间件 SQL 关系型数据库
flink cdc生产环境的高可用部署架构图?
flink cdc生产环境的高可用部署架构图?
148 1
|
7月前
|
监控 Kubernetes Java
焯!一份京东开源的微服务架构深度解析,竟让大厂人熬夜也要读完
什么是微服务,为什么需要用微服务? 一、微服务是什么? 定义:微服务是一些协同工作的小而自治的服务,这个服务是高凝聚力和松散耦合的。
|
7月前
|
资源调度 分布式计算 调度
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)