产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

京东 618:15 万个 Docker 实例,所有业务全部容器化

  • 2016-06-17
  • 本文字数:2323 字

    阅读完需:约 8 分钟

在 2015 年的 618 大促中,京东大胆启用了基于Docker 的容器技术来承载大促的关键业务(图片展现、单品页、团购页),当时基于Docker 容器的弹性云项目已经有近万个Docker 容器在线上环境运行,并且经受住了大流量的考验。而今年618,弹性云项目更是担当重任,全部应用系统和大部分的DB 服务都跑在Docker 上。像618 大促这样的流量高峰期,弹性云可以自动管理资源,做到弹性扩展,而在流量低谷期,又可以进行资源回收,在提升资源利用率的同时确保了运维系统的稳定性。据官方估计,本次大促活动中,京东线上将会启动近15 万个Docker 容器,从数量上来看,京东是全球范围内Docker 的应用大户之一。

为了了解相关的详情,InfoQ 记者采访了弹性云项目负责人鲍永成。此外,鲍永成将会在InfoQ 主办的 CNUTCon 全球容器技术大会上分享本次 618 大促的具体技术细节,欢迎关注。

受访嘉宾介绍

鲍永成,京东弹性计算组项目负责人,带领弹性计算团队,深耕 IaaS 领域,致力于打造京东强大的虚拟化平台。2013 年初加入京东,重点在京东弹性云平台系统研发,运营多个中大规模 IaaS 集群,包括(京东弹性云、公有云、混合云等产品),在 OpenStack 研发 & 性能优化、自动化部署、KVM、Docker、分布式系统等方面有一定的实践经验。

InfoQ:去年 618 的时候,我们就有聊过京东 Docker 的应用情况。您能对比去年 618,介绍下今年的规模、应用以及调整吗?

鲍永成:从数量上来讲,去年 618 线上容器应对峰值为 9 千个实例,今年截止 6 月 17 日线上容器突破 15 万实例;在整体布局上来看,对比去年 618,弹性云在规模上和业务全容器化实现战略落地。
在应用层面,京东所有应用 100% 通过容器技术来发布和管理应用集群。值得指出一点:今年 618 有 5600 个容器实例支撑 DB 集群,对京东云数据库提供非常便利的支持。
弹性云核心架构没有很大变化,依然简洁定义:弹性云 = 软件定义数据中心 + 业务容器集群调度。在此基础上,有两点增强:

  • 单个容器的稳定性和性能方面做了很大提升,有效满足核心系统对计算和网络的巨大需求;
  • 统一管理物理机、虚拟机和容器,加入统一集群进行调度,以适应不同业务对计算资源的不同需求;

InfoQ:您能介绍下有哪些业务全量跑在 Docker 上吗?为了迎接这样的挑战,架构做了哪些调整?

鲍永成网站、交易、无线、微信手 Q 等全部应用系统和 DB 服务的大部分都跑在 Docker 上。
因为京东业务在多年前就开始微服务化治理,所以应用层架构调整很小。现如今微服务化比例已经很大,所以容器技术的融入比较顺利。弹性云平台,算是站在多年对各个业务系统微服务化治理的巨人肩膀上。

InfoQ:这么多容器,如何做到海量监控?采用了什么开源方案吗?有哪些注意的事项?

鲍永成监控采取自主研发系统,该系统负责海量数据采集和存储工作,其构架如图。

对于 15W+ 容器监控,需要注意:指标采集传输一定要设计得非常高效,并且要做到采集过程对资源的消耗控制,建议使用加速告警和监控图表跟踪缓存状况。

InfoQ:在洪峰来临之时,弹性计算云平台是如何进行扩容的?可以从系统角度分享下其中的流程吗?

鲍永成弹性云有两种模式:

  • 自动模式会根据每个业务方自己的预设弹性扩展条件,自动触发扩容。扩容工作包括使用业务镜像 spawn 实例、自动 DB 授权、微服务框架注册、添加实例到 LB 负载。
  • 手动模式的前提是有弹性事件被触发,垂直运维收到扩展确认消息,人工参与的只是这个消息的点击确认扩容环节,其后续流程与自动模式一致。

InfoQ:可以谈谈目前应用了哪些关键开源项目吗?各自在系统的哪些 level?对应的版本分别是什么?

鲍永成主要是 OpenStack 和 Docker,具体如下:

  • OpenStack-IceHouse 用于管理数据中心计算、网络、存储等资源,位于 JD Data Center Operating System 层。
  • Docker-1.3 用于 spawn 容器实例,加入很多自主研发的内容和功能。

InfoQ:这么多的容器,您觉得最大的挑战是什么?

鲍永成**:1. 集群规模介于高效运维,弹性云集群走的是大集群架构的思路。单个 OpenStack 集群会建设得非常大,目前单集群规模控制在 6 千台计算节点左右。
管理 6K 台计算节点集群,仅仅使用原生 OpenStack 是很困难的,因此我们对 OpenStack 依赖的数据库、MQ 等全部重新设计实现,设计经过测试可以支撑 1W 台计算节点。
2. 单实例性能调优
:** 很多核心的业务对单个请求的响应时间有极其严格要求,这势必要求弹性云提供的每一个容器实例均要具有极好的性能,我们从 CPU 和网络两方面入手。
针对 CPU,我们采取 Scale-up 算法灵活调配 CPU 分配,使繁忙业务可以及时获得足够多 CPU 资源。
在网络这块,主攻方向为如何把万兆卡的性能发挥出来。我们对 OVS(Open vSwitch)做了一些改进:减少了一些锁,优化 peer port 和网卡中断。这带来近乎物理机网卡的网络性能。

InfoQ:这么大规模的 Docker 应用,在国内外都是屈指可数的。在整个容器化的进程,你们得到了什么,失去了什么?

鲍永成京东弹性计算云通过软件定义数据中心与大规模容器集群调度,实现海量计算资源的统一管理,并满足性能与效率方面的需求。
提升业务自助上线效率。应用部署密度大幅提升,资源使用率提升,节约大量的硬件资源。

而面临的调整也很多,比如内核因为 bug 升级。全部容器化后,底层依赖系统的版本高度一致,很容易带来因为底层 bug 需要规模性升级,幸运的是我们在内核团队建设这块一直非常重视,已经有内核发布版本、内核热 patch 等方式,有效解决此类问题。

InfoQ:在 CNUTCon 2016 全球容器技术大会上,你会重点分享哪些内容?

鲍永成重点分享软件定义数据中心、大规模容器集群调度以及 Docker 容器性能调优。

InfoQ:感谢鲍永成老师接受我们的采访。期待您在 CNUTCon 2016 全球容器技术大会上的分享。

感谢郭蕾对本文的审校。

2016-06-17 19:0023236

评论

发布
暂无评论
发现更多内容

时序数据库 IoTDB 赋能上海电气国轩智慧储能运营云平台建设

Apache IoTDB

iPaaS中API自动化测试的作用

RestCloud

自动化测试 API ipaas

解读丨海购新趋势下的跨境淘宝代购集运系统

tbapi

跨境电商 跨境进口 淘宝代购系统 反向海淘 跨境淘宝代购系统

Python数据可视化神器——pyecharts教程(一)

霍格沃兹测试开发学社

有了淘宝商品详情实时数据接口,用户体验up up up!

tbapi

淘宝商品详情数据接口 淘宝API接口 淘宝商品详情接口 淘宝数据采集

CloudXR带来高质量XR效果呈现

3DCAT实时渲染

CLOUDXR 云化XR

Bonree ONE 2024春季正式版:革新智能运维,7 大功能亮点重磅发布

博睿数据

免费云电脑能做什么?

青椒云云电脑

云桌面 云电脑

如何在MySQL 中更改数据的前几位数字?

霍格沃兹测试开发学社

云桌面跟桌面虚拟化有什么区别?如何选择

青椒云云电脑

云桌面 云电脑 云电脑平台

Pandas read_csv 参数详解

霍格沃兹测试开发学社

神器!使用Python 轻松识别验证码

霍格沃兹测试开发学社

Puppeteer实践:复杂的问题简单化

伤感汤姆布利柏

活动回顾 |观测云 AI Agent 探索实践

观测云

LLM

掌握Python中的系统监控与管理:使用psutil库

霍格沃兹测试开发学社

深入理解 FFmpeg:安装和使用指南

霍格沃兹测试开发学社

数据治理的难题:如何化解?

郑州埃文科技

MES管理系统的生产模块与ERP有何差异

万界星空科技

ERP mes 万界星空科技 制造业工厂

时序数据库 IoTDB 赋能上海电气国轩智慧储能运营云平台建设

Apache IoTDB

业内首家!火山引擎通过中国信通院超低延时直播性能卓越级评估

信通院IOMM数字化转型团队

IOMM

IDC:中国边缘计算市场快速增长,浪潮信息份额近半稳居第一

财见

从零开始:Django项目的创建与配置指南

快乐非自愿限量之名

django 框架

成本降低 90%,出海社交平台 Typing 基于 Databend 的大数据探索与实践

Databend

素材管理工具有哪些?这款图片整理软件好用到爆!

彭宏豪95

设计 在线白板 办公软件 素材中转站 图片素材管理软件

云桌面的应用场景,如何助力企业轻松上云

青椒云云电脑

云桌面 云电脑 云电脑平台

在线云电脑云桌面如何操作使用

青椒云云电脑

云桌面 云电脑 云电脑云桌面

京东618:15万个Docker实例,所有业务全部容器化_DevOps & 平台工程_穆寰_InfoQ精选文章