前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >京东技术系统的一些备战日常优化(1)

京东技术系统的一些备战日常优化(1)

作者头像
京东技术
发布2018-12-21 10:49:12
7370
发布2018-12-21 10:49:12
举报
文章被收录于专栏:京东技术京东技术

来这里找志同道合的小伙伴!

导 语

“技术的创新始终是要服务于商业模式的创新,最有价值的技术创新是工程化的应用技术,如何真正做出通用化的技术,将其规模化非常关键。”

供应链管理能力关乎一个企业的发展生命力,大数据、人工智能的结合加速了供应链的数字化进程,引入区块链技术,其透明、不可篡改的特点解决了过去因信息不对等给供应链上下游干系人造成的困扰,但链条越长意味着技术实现更复杂,尤其在迎来大促高峰流量的时期,给技术系统带来的挑战也越大。

核心任务效率更高

随着数据规模指数级增长与业务量的激增,系统会面临性能与稳定性的挑战,为保障系统的稳定运行,京东大数据系统在京东11·11全球好物节前进行了一次大规模升级,主要从存储计算分离的架构支撑开始,对多区域智能调度器、智能存储策略进行提升,系统升级使得核心任务完成时间提升3倍。

多区域智能调度器:面对数据量的增长, 社区调度器现有的分配能力已不能满足需求,其会出现分配能力不足,有空额资源无法分配的问题, 为解决这些问题,京东大数据与智能供应链事业部的研发团队自主研发了调度器(Hydra Scheduler),通过采用多区域调度,理论上实现支持无限制的横向扩展的能力。目前线上系统单机群规模已经超过万台,支持硬件排序算法,包括磁盘IO、CPU负载、CPU使用率、内存使用率、网络流入和流出速率,以及它们之间相互组合按权重排序的算法, 具备排序过滤权重较高的节点,排除异常节点与热阶段, 让任务更为稳定的运行在健康环境中,分配性能提升了4-5倍。

智能存储策略:实时感知集群所有节点的繁忙状态, 根据CPU、内存、磁盘、网络的繁忙度统计进行副本位置选择,规避繁忙状态的节点。整个过程基于实时状态进行统计,对整个集群的负载实时平衡,杜绝IO热节点与慢盘的影响,使得IO繁忙度下降300%。

流式计算平台资源全面容器化隔离

流式计算平台融合了多种主流的流式计算框架, 现已经全线迁移至容器化平台稳定运行将近一年。针对各种业务类型的不同,容器化在资源隔离的基础上,可以进行多种类型(CPU或内存型任务)混合部署,因此可以充分利用物理机资源。同时,容器平台可以通过一次镜像部署,全局更新,进行更加便捷地滚动升级。容器化部署之后,资源使用率节省将近30%。容器化是未来的主要发展方向,京东大数据已经在容器化的道路上迈出了坚实的一步,未来也会通过技术的持续创新将整个流式计算平台的性能进一步的提升。

日志上报策略

点击流系统为各业务条线提供京东各平台的浏览、点击、曝光等行为日志,以及对运营分析、用户画像分析等起到了非常重要的作用。在11月11日当天,系统支持了百万级流量峰值(每秒)、百亿级的请求量,系统在这个过程没有出现任何事故或者降级的情况。本次备战点击流系统对日志上报策略进行了重点优化。

APP端的采集SDK在设计之初,为减少用户手机流量的消耗,京东大数据与智能供应链事业部的研发团队设计了一套上报策略,通过上报条数和时间间隔来控制日志上报的速度,以及对上报的日志进行压缩。

但随着APP端的业务增长,这套策略机制存在两个问题:第一,配置上报策略如果时间间隔较长,容易发生用户行为日志滞留在APP不能及时上报的情况;第二,策略中的时间间隔和上报条数大小虽然可以在管理端调整,但策略的设置是对所有日志类型都起作用的。

而实际中,系统下游的实时消费方对数据实时性的诉求越来越强烈,数据滞留问题对部分实时消费方影响非常明显,为了解决上面两个问题,团队重新设计了差异化的策略设置机制,内置了日志类型、APP版本、Build号、设备号、事件ID等变量,通过表达式计算来决定采用的策略内容,针对不同的场景设定不同的上报策略。

将原策略固定的轮询机制调整为时间间隔和上报条数满足一个条件即可触发日志上报的方式,可有效解决日志滞留的问题。由于各平台的环境不同,类似调整对服务端存在比较大的挑战,目前APP端的浏览、曝光和点击日志类型已做调整,服务端的请求量增加了3倍,日志服务器处理能力提升了2倍。从业务反馈看,1分钟之内的日志上报达到95%以上,此次调整大幅提高了日志数据上报的时效性。

梳理流程细节升级体验

京东智臻链防伪追溯平台上存储的追溯数据已达12亿条,目前数据量仍然在快速增长。大量的数据导致消费者扫码响应时间变得缓慢,为了提高消费者购物体验,从梳理扫码溯源的整个流程和分析追溯数据的特点两部分进行优化。

首先将数据按照供应商维度进行拆分,由单表变成多表,使数据分散到不同的表中,减少单表数据量;其次是将单个数据库变成分布式弹性数据库,进一步将数据表进行分片,成倍数的减少单片数据;然后将扫码追溯数据进行缓存,设定在2个小时内扫码不在直接访问主库;再通过对区块链底层框架的代码进行优化使每秒事务处理能力提高了5倍以上;最终使得扫码页面的响应时间从之前的平均1秒缩短到150ms,极大的提高了页面展示速度,同时也支撑了后续入驻供应商的海量数据。

三链合一,链接品质生活~

------------------END------------------

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 京东技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档