全栈出征,京东技术基石如何为“618”大促护航?

6月18日24时,2020年的618大促落下帷幕,京东618大促期间累计下单金额达到2692亿元,创下新纪录。

与往年不同,今年618是京东核心业务全面上云的第一年,也是京东融合人工智能、云计算、物联网等业务板块升级京东智联云之后其技术能力的第一次大考。

面对创新高的云端数据和流量洪峰,京东技术扛住了,这主要得益于作为京东技术基石的京东智联云全栈出征,为618搭建了一套稳固且高弹性的技术底座,支撑超大流量、超高并发的技术保障。

近日,京东智联云技术沙龙在线上举行,来自京东的 5 位演讲嘉宾带来了各自的主题分享,分别从分布式图搜索系统、分布式文件系统、全方位安全体系、数据库等角度,揭秘京东技术全栈是如何为今年的 618 大促提供技术支撑的。

ChubaoFS整体QPS读可达3000W,TP999仅用时5毫秒!

全栈出征,京东技术基石如何为“618”大促护航?_第1张图片

朱洪银,京东软件工程师

演讲题目:《支撑618大促流量洪峰利器——分布式文件系统ChubaoFS》

演讲精华:

今年的618大促,京东面临着很多难题与挑战,这主要包括计算和存储分离的需求,数据的生产者和消费者使用不用的协议访问文件,容器平台需要提供可持久化的分布式存储平台,提供更大的磁盘空间,以及对海量小文件友好、同时可以提供高性能、高可用、高可扩展性。

这些挑战,被京东自研的分布式文件系统ChubaoFS化解。

全栈出征,京东技术基石如何为“618”大促护航?_第2张图片

从架构上来看,ChubaoFS 包含 Master、MetaNode、DataNode、Client 四个模块,具有高性能、多租户、通用存储引擎、高可扩展性、兼容POSIX接口、支持对象存储 6 个关键特征。

ChubaoFS的元数据子系统是由多个MetaNode节点组成的,可以水平扩容,在一个 MetaNode上可以分布多个 MetaPartition。

在京东,ChubaoFS 已经应用于 1000 多个业务,为公司节省了大约 1000 多台机器,成本节约效果明显。

朱洪银介绍到,618 大促期间,客户端的数据剧增,各个业务方可能根据访问量的变化进行大量扩容,这时Master就会遇到带宽瓶颈,如果几十万个Cilent同时访问一台机器,会对一台机器造成很大的压力,所以ChubaoFS在中间加了一层以缓存系统的元数据,这样客户端几十万的请求,最终打到Master集群上可能会缩小1000倍,Master的压力明显降低。

第二点是大促期间的热点数据访问。面对热点数据访问场景,有三种处理手段,第一种是S3;如果使用的是POSIX,则直接开启cache缓存选项,提升读写性能;第三种是从集群的角度,在创建vol时会多分配一些DataPartition和MetaPartition资源,减小每台机器的IO压力和内存压力,从而提升响应速度。

在618期间,ChubaoFS的整体QPS读达到3000W,而TP999只用5毫秒,写是800W,响应速度是65毫秒,性能非常高。

最后一点是高可用,ChubaoFS 支持磁盘故障自愈,并具有FollowerRead功能,支持跨机房、跨pod部署,单机房出现了问题,另外一个机房也可以提供服务,从而解决高可用的问题。

目前,ChubaoFS已在GitHub开源,感兴趣的同学可以详细了解。

项目地址:https://github.com/chubaofs/chubaofs

论文地址: https://arxiv.org/abs/1911.03001

数据库RDS,抗住平时3倍QPS与流量洪峰

全栈出征,京东技术基石如何为“618”大促护航?_第3张图片

白亚东,京东智联云云产品研发部架构师

演讲题目:《京东智联云数据库如何支撑百万级QPS大促》

演讲精华:

白亚东透露,京东智联云以超高弹性应对海量并发,流量洪峰较去年618提升了195%多,总带宽也同比增长113%,云安全防护保障实时拦截攻击12.3亿次,支撑超过去年京东双十一峰值1.8倍计算上云专区专线峰值流量。京东智联云云数据库RDS的QPS,更是达到平时的3.5倍,流量洪峰达到平时的3倍。

京东智联云云数据库RDS分八个步骤备战大促,首先是识别保障范围,明确边界范围,明确保障业务优先级;第二步是业务评估及与检查,评估整个业务链路上需要的资源,提前扩容和采购;第三步是预案整理,包括服务高可用、数据高可用预案、降级保护预案、弹性扩容预案等;监控及报警梳理,发现系统压力,在系统真正故障或不可用时及时介入处理,以确保系统运行平稳;

第五步是业务压测及预案演练;第六步是值班,让整个业务链路完全串起来;当这些前期准备工作做到位后,6月1日起做好值班工作,值班通信24小时无缝衔接,确保线上报警第一时间响应;最后一项重要工作是大促技术复盘,找到需要完善、改进,以及未来需要进一步加强的地方,为下一次大促做长远准备。

对于数据库来说,可用性和可靠性是永恒的话题,商用数据库提供全套管理系统,但缺点是贵。开源数据库也有很多生态工具,借助其他组件解决的方案,也能完成相应的功能,但有一定的技术门槛和维护成本。

数据备份是容灾的基础,也可以防止系统出现操作失误和系统故障导致数据丢失。京东智联云云数据库RDS提供数据备份和日志备份两种备份功能,并提供覆盖恢复、按备份恢复、按时间点恢复三种恢复功能,用户如果误删实例,可以通过多种方法恢复数据。

全栈出征,京东技术基石如何为“618”大促护航?_第4张图片

另外,在跨地域容灾方面,通过将云数据库RDS实例备份文件同步到不同Region的地域,RDS可实现跨地域容灾,开启跨地域备份服务,不会对原云数据库RDS实例使用性能造成任何影响。

在高可用性方面,京东智联云为用户多个地域提供了云计算服务,同一个地域下的不同可用区网络延迟在1.5毫秒以内,支持单可用部署,支持迁移可用区,并可实现故障自动切换、故障自愈。

京东智联云云数据库的产品,目前支持MySQL、Percona和MariaDB等,实例管理有生命周期管理、只读管理、高可用管理,以及升配降配、实例重启等其他运维,备份管理、帐户管理、恢复管理、库管理。

全栈出征,京东技术基石如何为“618”大促护航?_第5张图片

在安全、审计和日志方面,RDS现支持标准模式和高安全模式,高安全模式具备一定的SQL拦截能力,通过分析关键系统函数来实现防御SQL注入;审计上,云数据库MySQL开启审计后会统计所有DDL和DML操作信息;

性能优化上,RDS可以从多个角度统计SQL执行性能和及索引的各种统计数据,帮助用户发现问题SQL和潜在性能瓶颈,有针对性地进行优化;在日志方面,提供完整的binlog日志下载,云数据库 MySQL 实例每 5 分钟会自动同步最新的实例日志文件至云存储,且binlog产生的空间占用不收费。

全方位立体安全防护体系,为企业数字化转型护航

全栈出征,京东技术基石如何为“618”大促护航?_第6张图片

邱雁杰,京东智联云云产品研发部架构师

演讲题目:《护航京东618大促,如何构建全方位立体安全体系》

演讲精华:

京东618大促面临很多安全威胁及挑战,包括DDoS攻击等基础安全、业务风控和数据安全。618大促期间,京东智联云共遭受过800G DDoS流量攻击,在CC攻击方面拦截64亿次攻击,CC和WEB漏洞攻击都是七层的应用攻击。在其他攻击方面,京东还防护了包括暴力破解、远程漏洞利用、敏感文件探测等4亿次其他攻击。

邱雁杰还指出了企业加快数字化转型必须面对的几个安全痛点

第一,资产管理盲区导致木桶响应;第二,防御建设成本与攻击成本的不对等;第三,边界式防御模式中的内部管控缺失;第四,业务多样化导致的数据安全问题;第五,缺乏体系化安全建设思路,难从公司整体安全角度考虑安全体系建设。

要构建一个从基础设施到应用安全的全方位多层次安全体系,首先要清楚企业整个的系统架构,再针对用户、员工和第三方合作伙伴这三个不同的层次,有针对性地构建安全防护体系。

全栈出征,京东技术基石如何为“618”大促护航?_第7张图片

全栈出征,京东技术基石如何为“618”大促护航?_第8张图片

全栈出征,京东技术基石如何为“618”大促护航?_第9张图片

京东智联云推出一系列基于云的原生安全能力及产品,第一,在安全基础设施层,京东智联云用户可以使用Anti-DDoS系统,对所有流入京东智联云机房流量做统一的流量清洗;第二,京东智联云提供原生全链路加密,在端上可以使用KMS、SDK与KMS交互,进行数据加密;

第三,京东智联云原生DevSecOps服务提供项目管理、代码托管、流水线几大功能,且在项目管理时加入Sec流程,在项目设计过程中提供安全自查CheckList,以规避安全设计缺陷;第四,体用统一的安全中心对所有的安全风险作统一管控和处理。

结合企业安全体系结构和京东智联云云原生的安全功能,可以看到基于云原生功能和安全产品,可以构建从基础设施到应用安全的全方位多层次安全防护体系,为企业数字化转型中护航。

分布式图搜系统,调用量最高一天达5亿次

全栈出征,京东技术基石如何为“618”大促护航?_第10张图片

俞凯,京东智联云视觉研发部资深软件工程师

演讲题目:《分布式图搜系统在618大促期间的落地——应对海量商品审核,实现秒级响应》

演讲精华:

618大促期间,所有商家、用户评论、客户咨询等图片都需要进行审核,过滤涉黄涉暴图片。这一操作的人工成本巨大,需要借助AI的力量来实现。图片过滤面临着巨大的困难和挑战,包括大库低时延、大库高并发,并保证数据实时性、一致性、可靠性。

为应对上述挑战,京东智联云在业务中积累出一个通用化、高可用、高性能、高并发、可插拔、自动化的图搜平台,希望支持亿级底库、海量并发、秒级返回,支持动态入库、实时可查,支持第三方算法库的接入,对外赋能。

全栈出征,京东技术基石如何为“618”大促护航?_第11张图片

 (图搜系统架构图)

1、微服务架构

  • 采用K8S进行服务部署、编排

  • 采用Istio进行负载均衡和流量管理

  • 采用OSS/mysql进行数据持久化

  • 采用redis进行业务数据缓存

  • 采用kafka/http/grpc进行服务通信

2、服务分层

  • 基础服务:包含算法仓库、图片服务、索引服务

  • 核心服务:包括调度服务和路由服务

  • 业务服务:包含人脸识别、行人重识别、商品识别服务。

全栈出征,京东技术基石如何为“618”大促护航?_第12张图片

该图搜索系统的核心模块包括调度模块scheduler,路由模块router、索引服务indexServer、注册服务register,以及算法仓库模块algoHub。

针对此前版本遇到的痛点,该系统进化出一些关键技术,比如针对解决亿级底库,海量查询的痛点,通过把亿级底库分成多个Slice,通过调度模块,根据一定的策略调度到合适的IndexServer上,以提高性能;

之前的版本将底库和服务器做了静态绑定,这种方案灵活性、扩展性和容灾能力差,无法感知库数量和大小的动态变化为了支持实时建库、入库,设计了scheduler模块,由他来监控group、slice、indexServer的状态,根据这些状态对slice进行调度和rebalance,并发布slice到indexServer的路由信息,router模块根据路由信息,路由入库信息以及分发搜索请求、聚合搜素结果。

在性能参数上,618期间,该图搜系统承受了QPM为80W的查询洪峰,特征服务使用了约120张P40卡,tps为180;索引服务使用了25台32核机器;接入服务使用了460台双核机器;底库数量达100万,召回率达98%以上,调用量最高的一天达5亿次。

数据蜂巢Dcomb,保证数据传输关键时刻不掉链子

全栈出征,京东技术基石如何为“618”大促护航?_第13张图片

贺思远,京东物流架构师

演讲题目:《京东物流数据同步平台——数据蜂巢Dcomb大促保障之路》

演讲精华:

数据蜂巢(Dcomb)是一款轻量级数据处理系统 ,已在京东物流大规模使用,系统采用分布式架构,具有高可用及负载均衡的特性,可实现数据实时采集、历史数据加工同步、实时数据单表加工同步,以及实时数据宽表加工同步四大功能。

全栈出征,京东技术基石如何为“618”大促护航?_第14张图片

Dcomb系统架构采用的是Master、Slave分布式架构。Slave内部包含pieworker、streamworker、batchworker几个部分。其中,stream负责数据采集;Store采用文件队列,将解析过的数据存到本地;单表对数据进行消费、加工;宽表按照join逻辑,将多表关联,实时输出;此外还支持数据的离线同步。

目前,Dcomb系统已经应用于京东物流多个核心业务上,对业务数据进行加工同步,输出相关报表用以指导生产。

为了保证今年618顺利进行,Dcomb系统做了很多优化工作。

1.首先是如何保证数据采集传输。大促期间,binlog生成的速度极快,几十秒就会生成1G的binlog文件,在数据采集上,瓶颈主要在于序列化和压缩、解析上,Dcomb对MySQL的binlog进行预处理,再并发进行解析,以提升性能。

2.传输在跨区域将数据从园区传到IDC时,Dcomb也做了优化,比如二次压缩,并发传输,最大程度的利用区域带宽,以解决因网络质量引起的延迟,提高时效性。

3.消费。当数据到达IDC后对数据进行分发可能面临并发的问题,Dcomb提供了多种策略,包括严格串行,表级,行级并发等保证数据的正确性。

实时宽表加工是Dcomb系统重点开发的一个功能,当前的处理方式类似于Storm,但团队正在通过借鉴Flink等优秀流式计算框架的思想研发第二代宽表计算引擎,这是Dcomb未来的一个重要发展方向。

以上仅为演讲嘉宾精彩观点提炼,想了解完整演讲内容。点击“阅读原文”,进入官网查看演讲视频,也可扫码关注京东智联云开发者微信公众号,获取更多技术内容。

全栈出征,京东技术基石如何为“618”大促护航?_第15张图片

你可能感兴趣的:(数据库,大数据,分布式,hadoop,java)