京东零售Color千万级QPS实时指标监控架构背后的数据库实践

6f815013cae5ee17e962edb29d3cb5a4.gif

在墨天轮举办的“2022互联网行业应用专场——国产数据库沙龙”中,京东云数据库产品经理曲艺伟和大家分享了《京东零售Color 千万级QPS实时指标监控架构背后的数据库实践》,主要包括什么是Color网关、它面临的考验及最佳实践,以及背后的云原生数据仓库优势,详细分享内容如下。

什么是Color网关?

在介绍Color网关之前,我们先来了解一下什么是API网关。

API网关负责接收客户端的所有请求,并将请求路由到相应的后端服务,并提供接口聚合和协议转换同时通过调用多个后端服务,并聚合结果的方式处理请求,可以达到降低接入成本、提高效率、保障安全能力的效果。

京东零售Color网关作为API网关的技术服务,承载京东日均百亿的流量和调用,是大促保障的重要技术环节。

3c5b0fd0f22a2d5962c875d6ce398a17.png

图1 京东零售Color 网关

大促期间带来的考验

京东零售Color网关在大促期间面临着怎样的考验?我总结成了以下四点。

首先是对稳定性的考验。面临大促期间主站等核心业务高并发流量,网关作为业务流量直接承载方,需要保障各个服务接口的平稳运行。

第二点是对高可用的考验。网关承接了数以万计的后端服务接口,服务之间如何不会相互受影响,一个接口有问题不会影响其他接口的调用。

第三点是对可靠性的考验。作为流量入口,网关需要通过安全防刷与流控等流量安全策略,来保障网关面对海量流量场景下不被冲垮。

最后一个是对高性能的挑战。网关服务的可用性很大方面通过监控系统完善,需要实时了解网关性能和请求拦截情况,最终将流量处理结果汇聚到网关监控,进行观察决策。

1d3292e48b121d3a577e6c11c4b6dd69.png

图2 京东大促对Color网关的考验

我们可以发现监控服务其实是京东零售Color网关最核心的一个技术环节,那么如何去保障监控服务的一个实时性与稳定性呢?接下来就为大家介绍Color网关的架构。

Color网关架构选型与解决方案

1、原始架构 HBase的痛点

监控服务是网关系统的核心环节,能够实时监控系统运营状况、统计相关的数据指标、根据风险识别结果实时进行智能拦截。风险识别结果数据同步在Hbase支撑监控日志分析服务,但是我们在业务进展的过程中发现,Hbase在数据处理上存在明显短板,主要表现在以下几点:

  • 无法满足多维度聚合查询性能要求

  • 不支持时序维度处理无数据聚合能力(需要额外人工开发实现多维度聚合)

  • 存在有热点、耗内存的问题

  • 数据分析性能提升空间小,满足不了查询结果响应时间

针对HBase所带来的业务与性能上的问题,我们对零售Color网关进行了架构升级。

86419b1083cbbb4a88b8c3d5c2939512.png

图3 原始架构 HBase的痛点

2、架构升级:云原生数仓方案

云原生数据仓库是京东云基于ClickHouse 自研的一款存储和计算分离的产品。

从下面的架构图可以看到,零售Color网关的流量治理服务分为两类,一类是全量数据,离线写到结果报表里,再存到监控日志的服务;另一类是实时数据,通过消息队列Kafka到flink,去推到分布式计算任务,再推到云原生数仓,去实现实时的计算分析的服务。

e894d81f5d95470bd781f41d6a70e53e.png

图4 升级后的云原生数仓方案

相比较于Hbase,云原生数仓数据的处理性能整体提高60%(原1.92亿/min所产生的积压问题在架构升级之后完美解决,同比下性能可增长至3.1亿/min)。同时,由于云原生数仓采用计算和存储分离架构,用户可以根据实际业务情况实现秒级扩缩容,存储成本也有极大的下降。

3、传统数仓遇到的问题

首先传统数仓面临技术瓶颈。传统数仓架构复杂,有着使用成本偏高,查询延迟高,无法做到高并发和高可用,以及实时分析难以落地,或者是“分钟级”准实时的痛点。

第二点,传统数仓架构复杂。传统数仓的架构中组件众多,基础配置要求高,同时前期准备周期较长,启动困难。

最后使用成本偏高也是传统数仓的问题。硬件资源较难评估,计算和存储成本居高不下,并且运维复杂,人力成本难以降低。

4、业务爆发性增长下,京东需要的OLAP引擎

既然传统数仓有着诸多的问题与挑战,那么面对海量数据我们该如何去实现一个实时分析的需求呢?基于传统数仓的痛点,以及实际业务中的需求,需要一款高效率、高性能、低成本的OLAP引擎来支撑,我们考虑这款引擎应该具有以下的特性与优势。

首先是要降成本,我们采用了存算分离的架构。这样的架构帮助存储成本下降50%以上,同时达到快速弹性阔缩容的效果。

其次是高可用与超高性能的优势。海量数据能做到秒压级响应,同时满足高可用的特性,单节点失败不影响集群的稳定性。

最后,这款OLAP引擎需要满足“开箱即用”。可以在控制台点击、分钟级别创建集群,具备可视化监控报警与运维界面等相关功能,可以达到用户立即投入生产的效果。

1aa9794eae99e35052ff3d54cd86bd7d.png

图5 京东需要的OLAP引擎特征

云原生数据仓库的优势

1、云原生数据仓库ClickHouse的优势

为了能够应对爆发性增长的京东业务,业务需要这样一款高效率、高性能、低成本的OLAP引擎。为此,京东云自主设计和研发了云原生数据仓库ClickHouse产品,这款数据仓库具备了京东所需要的OLAP引擎的主要优势。

  • 极低的成本
    大幅降低存储的成本,每PB数据下可降低存储成本 80% 以上。

  • 极致的弹性
    计算节点可秒级的扩缩容,动态满足业务需求,极大的提高了资源的利用率。

  • 极简的使用
    控制台点击创建,分钟级别可创建PB级别实例
    提供可视化的监控管理平台和日志分析平台

9a7c98a08f01f452e3ec2ca74e8bdd12.png

图6 云原生数据仓库ClickHouse的优势

2、云原生数据仓库ClickHouse的架构

在数据库管控层中,采用了存储和计算分离的架构;云管平台层是前端接入控制台的功能,是提供给用户的接口操作,包括购买、支付、配置变更、资源申请、实例创建、实例删除、实例变更等操作。

2b8726c1506a214e180f9af36a43b6ce.png

图7 云原生数仓ClickHouse产品架构

3、云原生数据仓库ClickHouse在计算节点与存储节点中的优势

首先计算节点由于采用了这个计算和存储分层架构,它其实是一个无状态的计算执行引擎。因此计算层是可以仅仅只专注于对计算引擎实行动态的调配,这样可以极大提升计算资源的利用率。

379d195b0a4484e31123bc1ee9f8894c.png

图8 云原生数仓ClickHouse表现的计算节点的优势

不仅如此,存储节点也是一个无状态的数据引擎服务。如下图所示,存储节点被分为若干个小组,可以同时处理多个请求,同时节点的组内会根据一定的规则对数据进行操作。

49180a4aceecdd0730c93c60e224c699.png

图9 云原生数仓ClickHouse表现的存储节点的优势

那么采用这样存储节点组的一个好处是什么呢?即如果磁盘的IO成为瓶颈的时候,我们可以实现对存储节点的扩容来实现对IO的增加。不仅如此,我们还在存储层自研了多级缓存的机制,支持多级内存缓存和磁盘缓存,可以更快的实现存储数据的访问。

4、云原生数据仓库ClickHouse在秒级弹性的优势

最后我再来介绍弹秒级弹性的优势。用户不需要关注数据层面的任何东西,也不需要对数据进行重新分布,也无需关注存储节点的数据的存储的方式,用户只需要关注它的计算节点算力以及业务的分析与查询。

a2156520b418887594ab339d46c21e71.png

图10 云原生数仓如何实现节点扩容

5、云原生数据仓库ClickHouse帮助用户降低成本

最后,我会用几组数字来和大家说明云原生数据仓库ClickHouse如何在存储和计算分离的架构下,帮助用户去降低成本,带大家算一笔账。

首先云原生数据仓库ClickHouse采用多副本共享存储,帮助降低50%的成本。

假设一个双副本的传统ClickHouse集群的存储成本是100%,它采用的是两副本,它的存储介质是云盘存储。

而云原生数据仓库ClickHouse采用的是分布式存储,也就是我们所谓的共享存储。所有的数据都是共享存储在我们的分布式存储引擎里,相当于是一副本。在存储副本层面,云原生数仓ClickHouse比双副本的CK下降了50%。

其次分布式存储的价格更低,分布式存储的价格为云盘/EBA的60%左右。

最后云原生数据仓库ClickHouse的存储按照实际数据量计费,通常存储量为实际的50%-80%,这一点也帮助用户降低成本。

综合来看,云原生数仓ClickHouse比传统ClickHouse无论从数据副本、存储成本以及实际使用空间都有较大的成本节约,最多可以节省50-80%的存储价格。

5d62a964162cc5f8266128c41d58813b.png

图11 存算分离架构帮助降低成本

云原生数据仓库ClickHouse支撑京东业务

和大家分享一下在京东内部的业务中,采用云原生数据仓库业务的全景图。主要是分为两类,一类是实时数据的分析,另一类是离线数据的在线分析。

我们的云原生数据仓库ClickHouse已经支撑了京东零售,京东物流,京东科技和京东工业数十个核心的零级业务,包括商业智能的大屏分析、大屏的实时展示,促销选品的产品平台的建设,比如精准营销和广告投放,以及日志流量分析、监控分析等相关的业务。

同时云原生数据仓库中,存储和计算分离的架构能够实现在业务的高峰和低谷的计算资源,实现弹性的扩容和缩容,这也极大的帮助京东的内部用户降低存储的成本,仅需关注业务价值。

725c0b843174e0e050129c6c523b1257.png

图12 云原生数仓ClickHouse现已支撑京东数十个核心业务

- End -

►►更多了解◄◄

0aee8c35adf0a2d8de9335aabbddf6e6.png

8ca54eab5454907bfb0e120593dcab1a.png

37dc3553fd8124b345b48a95b48e9c1b.png

a5778c485b4515b3a553419cb5af1c46.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值