KubeCon + CloudNativeCon North America Virtual | November 17-20, 2020 | Don’t Miss Out | Learn more

京东如何开辟 Kubernetes 在超大规模电子商务领域的应用天地

挑战

中国零售巨头京东拥有超过 3 亿活跃用户,2017 年总收入超过 550 亿美元,树立了超大规模运营的典范。具体而言,京东产品数据库包含超过一万亿幅图片,每天新增图片数量达到 1 亿幅,这一庞大的数据量需要具备即时可访问性。京东首席架构师刘海锋表示,2014 年,京东使用 OpenStack 和 Docker 将其应用迁移到在裸机上运行的容器中,以“加速计算资源交付,大幅简化运营”。他表示,然而,到 2015 年年底,数万个节点运行在多个数据中心内,“由于我们的平台不够强大,我们遇到了许多问题和瓶颈,包括可扩展性问题。我们需要强大的基础设施驱动未来 5 年的发展。”

解决方案

京东使用 Kubernetes 支持其集群。2016 年伊始,该公司开始从 OpenStack 迁移至 Kubernetes;如今,京东运营着全球最大的 Kubernetes 集群。“Kubernetes 为我们提供了强大的基础,助力我们定制解决方案,满足庞大的零售业务需求。”

影响

刘海锋表示:“借助 Kubernetes 平台,我们提高了数据中心效率、改善了资源管理并增强了智能化部署。”部署时间从数小时缩短至数十秒。IT 成本效率提升了 20-30%。鉴于其团队正在实施进一步优化,刘海锋认为他们有望每年节省数亿美元。一年一度的双十一购物狂欢节或许是衡量成功与否的最佳窗口。2018 年,京东首次在 Kubernetes 平台上开展这一活动。刘海锋表示,京东 11 天内的交易量达到 230 亿美元,“我们的电子商务平台表现出色。基础设施为我们的双十一促销准备工作提供了强大保障。我们率先预测销量,模拟顾客行为以预先做好准备,并进行故障演练。得益于 Kubernetes 的出色可扩展性,我们得以从容应对需求井喷。”

使用的CNCF项目

CNI
etcd
Harbor
Helm
Kubernetes
Vitess

规模

数万个节点,数十万个容器

双十一收入

230 亿美元

部署时间从数小时缩短至数十秒

中国零售巨头京东拥有超过 3 亿活跃用户,去年收入达到 557 亿美元,树立了超大规模运营的典范。

具体而言,京东产品数据库包含超过一万亿幅顾客图片,每天新增图片数量达到 1 亿幅。这一庞大的数据量需要具备即时可访问性,以成就流畅的在线顾客体验。

京东首席架构师刘海锋表示,2014 年,京东使用 OpenStack 和 Docker 将其应用迁移到在裸机上运行的容器中,以“加速计算资源交付,大幅简化运营”。他补充道,然而,到 2015 年年底,数十万个节点运行在多个数据中心内,“由于我们的平台不够强大,我们遇到了许多问题和瓶颈,包括可扩展性问题。我们需要强大的基础设施驱动未来 5 年的发展。”

在考虑多项编排技术后,京东最终决定采用 Kubernetes 支持其不断增长的集群。刘海锋表示:“对我们而言,Kubernetes 的主要优势是能够大幅简化应用部署,显著提升其效率和可扩展性,而且可帮助我们实施灵活的平台调度。”

此外,Kubernetes 基于 Google Borg,这也增强了京东对 Kubernetes 的信心。他的团队非常看重 Kubernetes 拥有清晰、简单的架构,而且主要使用了在京东广受欢迎的 Go 语言进行开发。 刘海锋表示,京东是在 Kubernetes“还不够成熟时义无反顾地采用了这一应用。”

他的团队花费了一年的时间开发基于 Kubernetes 的新容器引擎平台,并在 2016 年年末开始在京东内部推广该平台。刘海锋表示:“我们希望该集群能够成为创建服务的支柱,以大幅简化可扩展性。与开发人员的交流增强了我们采用该技术的兴趣,而且我们一起解决了在实施中遇到的问题。”一些问题涉及网络性能和 etcd可扩展性。他补充道:“但在过去两年,Kubernetes 已日渐成熟,而且非常稳定。”

今天,该公司运行着全球最大的 Kubernetes 集群。刘海锋表示:“我们对 Kubernetes 进行了定制,并以其为基础构建了现代系统。搭配我们的优化,整个 Kubernetes 生态系统帮助我们节省了大量成本和时间。借助 Kubernetes 平台,我们提高了数据中心效率、改善了资源管理并增强了智能化部署。”

“Kubernetes 帮助我们降低了运营复杂性,提升了分布式系统的稳定性和可扩展性。 最重要的是,我们能够利用 Kubernetes 合理调度资源,从而降低了硬件成本。 Kubernetes 为我们带来了卓越效益。”

— 京东首席架构师刘海锋

成效显而易见:部署时间从数小时缩短至数十秒。IT 成本效率提升了 20-30%。一年一度的双十一购物狂欢节或许是衡量成功与否的最佳窗口。2018 年,京东首次在 Kubernetes 平台上开展这一活动。刘海锋表示,京东 11 天内的交易量达到 230 亿美元,“我们的电子商务平台表现出色。基础设施为我们的双十一促销活动提供了强大保障。我们率先预测销量,模拟顾客行为以预先做好准备,并进行故障演练。得益于 Kubernetes 的出色可扩展性,我们得以从容应对需求井喷。”

京东现已步入了采用 Kubernetes 的第二阶段:该平台已经具备出色的稳定性、可扩展性和灵活性,京东现在的重点是大幅提高运营效率,以进一步降低成本。鉴于其团队正与资源管理部门实施优化,刘海锋认为他们有望每年节省数亿美元。

“我们对 Kubernetes 进行了定制,并以其为基础构建了现代系统。搭配我们的优化,整个 Kubernetes 生态系统帮助我们节省了大量成本和时间。”

— 京东首席架构师刘海锋

京东赢得了 CNCF 2018 年最终用户大奖,目前在其平台上还使用 HelmCNIHarborVitess。京东开发人员为 CNCF 可扩展 MySQL 集群管理项目 Vitess 做出了巨大贡献,该公司希望在不远的将来将其项目捐赠给 CNCF。社区参与是京东的优先议题。刘海锋表示:“我们与社区建立了良好的合作关系。我们与社区分享我们的成功经验,同时积极聆听反馈意见。双方建立了互惠互利的关系。”

为此,刘海锋对其他考虑采用云原生技术的公司提出了如下建议。他表示:“您首先需要将这一技术与您的业务进行组合,然后确立明确的目标。您不能盲目跟随他人使用该技术。您需要考虑自己的目标。”

京东的目标是确保这些云原生技术与其内部创新完美融合。刘海锋表示:“Kubernetes 帮助我们降低了运营复杂性,提升了分布式系统的稳定性和可扩展性。最重要的是,我们能够利用 Kubernetes 合理调度资源,从而降低了硬件成本。Kubernetes 为我们带来了卓越效益。”