关于数据库:支撑2715​亿元海量订单-揭秘京东大促背后的数据库基石

69次阅读

共计 2514 个字符,预计需要花费 7 分钟才能阅读完成。

京东智联云作为京东团体技术保障的基石,在 11.11 期间,云数据库扛住了京东物流和京东批发外围业务零碎 PB 级别的数据增长压力,是 2020 年 618 期间拜访峰值的 258%。截至 11 月 12 日凌晨,京东 11.11 累计下单金额超 2715 亿元 ,同比 2019 年增长 33%

面对每年京东 618、11.11 订单量和成交额迅猛的增速,京东智联云数据库作为大部分京东背地业务零碎的技术保障,面临较大的挑战。本篇文章将分享京东智联云云数据库部门如何在 11.11 期间保障大促突增数据压力的稳定性与安全性,同时介绍有哪些技术手段为大促期间的京东海量订单保驾护航?

京东对用户每一笔订单的生命周期流程 (商品搜寻 - 选购 - 加购物车 - 下单) 都须要实时响应,尤其是在商品下单环节。11.11 大促期间受商品流动和优惠工夫的影响,用户下单顶峰往往在固定时间段,比方零点后是一个小顶峰。面对集中时间段内订单量突增,QPS 是平时全天总量的 30-50%,同时又要保障用户订单生命周期及其查问操作的实时性,京东采纳云数据库 JCHDB 作为数据分析保障的技术基石。

剖析型云数据库 JCHDB 是京东智联云基于 ClickHouse 打造的联机剖析(OLAP)服务,采纳分布式架构,可实现多核、多节点的并行化大型查问,其查问性能比传统开源数据库快 1 ~ 2 个数量级,可充沛满足大促期间业务零碎数据分析的需要。

京东海量订单实时剖析须要数据仓库疾速查问与并发解决能力,用户订单生命周期数据实时生产 kafka 音讯,流经 flink 再写入到 JCHDB 集群,该场景须要既保证数据分析的实时性,又要保障集群的性能,查问响应工夫不变。JCHDB 对批量数据写入反对的写入速度大概为 50-200MB/s,但订单实时剖析往往是频繁小批量写入,对集群的 ZooKeeper 节点不太敌对。云数据库 通过优化 ZooKeeper 的 JVM 参数及云盘的并发度使用户高频率小批量写入, 在 JCHDB 集群上稳固运行。

在用户实时写入的场景中,会偶发呈现数据写入速度过快,数据合并(merge)不及时,造成写入频繁失败。云数据库团队 优化了对 JCHDB 集群的写入操作,在可能满足实时查问性能不变的前提下,尽可能地大批量低频次写入,充分发挥集群的高性能劣势。 同时也对集群的参数进行调优,在业务零碎压力较大时也能够可能很好地为其服务,进步了零碎整体的稳定性。

JCHDB 对海量实时订单数据分析整体流程图如下:

京东智联云数据库团队须要在 11.11 期间安稳撑持京东团体曾经上云的上千个外围业务零碎,抵制大促期间百万 QPS、PB 级别数据压力。后期的预案筹备和压测、预案演练和实时监控都是必不可少的环节。11.11 大促期间须要云资源可按需扩容,齐备的业务降级预案,以应答从天而降的业务压力。

每年 11.11 期间大促备战都是京东团体各部门通力合作的关键时刻,依据 618 教训,11.11 期间大促备战共分为 8 个步骤:

(1)辨认保障范畴;

(2)业务量预估及预查看;

(3)预案整顿;

(4)监控及报警梳理;

(5)业务压测;

(6)预案演练;

(7)11.11 值班;

(8)技术复盘。

具体大促备战技术细节请见《京东大促备战手册》。

大促备战 8 步流程图:

预案整顿是云数据库保障 11.11 期间海量数据稳固和平安的重要环节,云数据库 RDS 通过服务高可用架构、主动故障切换、弹性扩容机制等一系列数据库级别的技术手段,保障 11.11 大促期间有肯定的预案和响应机制,保障 数据可备份,故障可切换,增量可扩容, 从容应对大促期间海量数据压力,客户只须要关注业务自身的增长而不须要放心数据运维与业务压力迅猛增长带来的懊恼。

数据可备份: 京东智联云云数据库采纳高可用架构,反对单可用区、多可用区两种部署形式。单可用区部署在创立时,通过反亲和性保障主备不能同机架,防止单机架故障导致实例不能拜访的问题。多可用区部署,将网络提早升高到 2 毫秒内保障备库复制的及时性。自研的哨兵零碎反对动静扩大,可承载海量实例监控服务,通过 http 和 tcp 等多种协定对心跳上报异样的实例进行探测拜访,在满足少数哨兵节点投票的状况下进行主观下线发动主动高可用流程。

云数据库高可用架构示意图:

故障可切换: 高可用架构另一个劣势是能够做到故障秒级切换。当云数据库治理节点收到哨兵零碎发来的主动高可用申请,对故障实例再次探活,从用户子网、治理网两个方面进行连通性确认,确保主库实在下线后开始故障切换。为保证数据实现性首先会将备库回放日志利用实现,而后切换 vip 前面的 target ip,使得服务能够在短时间故障后持续拜访。同时零碎会主动创立一个新的备库保障高可用架构。

云数据库故障主动切换解决流程:

增量可扩容: 京东智联云云数据库团队和云盘团队深度单干,将读写性能进行调优,充分利用云硬盘特有的弹性扩大和增量快照技术,将数据库扩容变得简略高效。应用云硬盘的实例可在 3~5 分钟内扩容到任意存储空间。应用本地盘的实例,反对原地垂直扩容,通过在线热扩大的形式秒级失效,满足用户扩容需要。

云数据库基于云盘扩容示意图:

京东智联云云数据库部门在 11.11 期间不仅反对了大促订单实时海量数据的订单与数据分析,更有一系列标准化计划和齐备的技术备战流程撑持 11.11 期间海量数据和业务的挑战。往年 11.11“开门红”期间,云数据库整体 QPS 峰值达到 502.4 万次 / 秒 ,数据流量峰值 1183Gbps,京东智联云扛住了流量洪峰,保障了大促期间各业务零碎安稳运行。

京东智联云云数据库提供了从创立、配置、扩容、监控报警、性能剖析等一站式数据库服务,实现了从自助运维到主动运维的转变, 撑持了京东批发、京东物流、京东 AI,京东衰弱等海量的外围业务,并通过一系列标准化的计划和备战流程应答大促期间峰值数据流量和业务压力的挑战。 同时,京东智联云云数据库具备的服务高可用,数据高牢靠,在线弹性伸缩等个性可满足用户突发的峰值压力和刻薄的业务场景,历经屡次大促考验,是企业上云的不二之选。

举荐浏览:

  • 11.11 备战指南之 DevOps 篇
  • 11.11 备战指南之 PaaS 篇
  • 11.11 备战指南之平安篇

欢送点击 【京东智联云】,理解开发者社区

更多精彩技术实际与独家干货解析

欢送关注【京东智联云开发者】公众号

正文完
 0