开发者中心 > 专栏 > 内容详情
分享
  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

云原生在京东丨揭秘五大云原生项目在京东的落地实践

  • 京东智联云开发者
  • 2020-07-27

如今,云原生被企业和开发者奉为一种标准,并被认为是云计算的未来。


严格来说,云原生并不是一个产品的名称,而是一套技术体系和一套方法论,它包括 DevOps、持续交付、微服务、容器、敏捷基础设施等内容。云原生(Cloud Native)概念在 2013 年被首次提出,在云原生技术全面爆发之前,我们开发的应用可以被称为非云原生应用,非云原生应用并没有考虑到应用的弹性和规模性,甚至很多都不具备扩展性,当业务规模扩大时,特别依赖硬件的升级,进而带来了很多问题。


京东在每年的 618、11.11 都会面临海量数据和流量增长,从前端网站、订单、结算、支付、搜索、推荐,到后端的仓储、配送、客服、售后各种业务系统都面临着前所未有的挑战。因此,京东自然需要一个灵活的、有弹性的、可规模化扩展的平台,这也决定了京东从很早开始就拥抱云原生。京东目前运营着全球最大规模的 Docker 集群、Kubernetes 集群,以及最复杂的 Vitess 集群之一,基本实现了“All in Containers”,是目前全球容器化最彻底的互联网企业之一。




京东作为容器技术先行者,早在 2014 年,就率先将 Docker 容器技术大规模应用至生产环境。在 2016 年初开始实践 Kubernetes,在2017年初基于 Vitess 构建起弹性数据库,并且自研京东“阿基米德”调度系统。京东零售基础架构团队持续建设“阿基米德”平台,作为支撑京东万亿 GMV 的技术基础设施,阿基米德由大规模容器集群调度、数据库与存储技术平台、组件化微服务平台、商品图片技术平台、异地多活与智能运维、边缘计算平台构成。其中容器技术是所有平台服务的基石。在此过程中,采用容器最大化资源利用,节省数据中心数亿元采购成本。大促之前加机器的历史一去不复返。




同样在 2016 年,京东需要云原生的 Registry 用来维护其镜像中央存储库。在考察了包括Docker原生注册表在内的多个解决方案之后,京东选择了 Harbor。从那时起,京东就开始成为 Harbor 的忠实用户。Harbor 操作简单、运行稳定,为京东节省了大约 60% 的镜像中央存储库维护时间。


随着业务量的增长,存储镜像的数据会变得越来越庞大,京东需要一个稳定、可靠、高性能的存储方案。ChubaoFS 是京东开发的一款为云原生应用提供分布式文件存储服务的开源项目,在所有分布式文件系统中,ChubaoFS 最适合支持云原生工作负载,这得益于其几乎无限的可伸缩性和分布在多个节点工作内存中的健壮元数据子系统。京东选择其作为 Harbor 后端存储方案,多个 Harbor 实例可以同时使用 ChubaoFS 共享容器镜像,它给 Harbor 提供了稳定的,可弹性扩展的,高性能的分布式存储服务。





对于已经服务于京东 100 多个应用以及在线业务的 ChubaoFS 来说,一个优秀高效的监控系统是十分重要的。Prometheus 项目是由前 Google 员工发布的新一代云原生监控系统,2016 年 5 月正式加入 CNCF 基金会的项目,是第二个 CNCF 的毕业项目,Prometheus 具有天然的 K8S 生态优势,而京东基础设施都部署在 Kubernetes 集群中,使用 Prometheus 可以更好地将监控应用于生产环境。Prometheus 提供了一种更便捷、高效的资源组织和使用方式,让部署和维护变得更简单,便于资源的动态伸缩及可靠服务,大大提升了开发、交付、运维系列流程效率,让我们在软件开发中更关注应用逻辑本身,从而让开发更加高效。




在当前的 Kubernetes 应用生态当中,Helm 是最被广泛使用的应用定义标准之一,是 CNCF 旗下第十个顺利毕业的项目。Helm 相对于 Kubernetes 而言,类似于 Ubuntu 上的 APT 或 CENTOS 上的 yum 命令。该项目采用一种名为图表(chart)的打包格式,用以描述一组彼此相关的 Kubernetes 资源文件集合,它可以把整个 Kubernetes 的资源进行打包。好处:第一是复用性,第二是标准化,第三是版本控制。通过使用 Helm 在 Kubernetes 平台上部署 ChubaoFS 集群,京东团队将部署时间从几个小时减少到几分钟。除了 ChubaoFS,京东还使用 Helm 来管理许多其他的 chart,包括 etcd、 grafana、MySQL、zookeeper 等等。




作为中国最大的零售商,京东的 MySQL 数据库在发展过程中变得越来越大,导致性能下降,运营和维护成本上升。这时迫切需要一个解决方案,帮助京东轻松快速地扩展 MySQL,方便操作和维护,并降低硬件和运维成本。Vitess 是用于部署、扩展和管理大型 MySQL 实例集群的数据库解决方案。作为 Vitess 的早期采用者,同时也是全球规模最大、最复杂的 Vitess 使用者之一,京东通过使用 Vitess 对大规模数据库服务进行可伸缩的管理,并支持 MySQL服务在线扩容。




如果对云原生非常熟悉的话,你可能会发现以上提到的项目全都来自 CNCF。


CNCF 全称是 Cloud Native Computing Foundation (云原生计算基金会) ,致力于推广云原生计算模式,并维护一个厂商中立的开源生态系统来普惠大众。云原生计算使用开源软件栈来构建微服务,打包为容器,并动态编排容器来最大化资源利用。CNCF 孵化了软件容器领域的一个值得关注的 Kubernetes 项目以及围绕它的很多其他项目,而 Kubernetes 目前已经成为云原生应用的重要基石。



每年,CNCF 都会主办云原生技术大会 Cloud Native + Open Source Virtual Summit China (以下简称 KubeCon) ,这是目前规模最大的开源及云原生大会,更是Kubernetes及容器领域的顶级盛会,大会将吸引来自全球数千名技术人员参会,内容涵盖网络、AI/ML/DL、区块链、边缘计算等,并包括Kubernetes、Prometheus 等技术进行云原生实施的相关话题。今年受疫情影响,峰会将首次于线上召开。


作为 CNCF 云原生基金会的白金会员,京东是 CNCF 开源项目最大的使用者与贡献者之一,一直都在积极采用 CNCF 的项目、参与开发贡献并与其他成员一同合作共建社区。在即将开始的 Cloud Native + Open Source Virtual Summit China 2020 中国线上峰会活动中,我们的技术专家将在现场为大家带来两场精彩分享:


深入介绍融合分布式文件系统与对象存储服务的 ChubaoFS,深入探讨ChubaoFS 的架构、开发和细节,并讨论诸如复制、故障转移等话题。



介绍如何解决有状态应用迁移到 K8S 的问题,以数据库为例,如何基于 K8S 打造有状态的云数据库服务,如何解决云数据库服务的高可用、数据的备份、恢复及扩容等问题。




京东智联云自 2016 年开始对集团外部提供服务以来,逐渐将集团内部多年积累的云原生开发和运维能力标准化为 Kubernetes 集群、微服务平台、 Devops、函数服务、云安全、API 网关等上百种标准的云服务,方便客户利用京东智联云服务的强大能力,快速、安全、高可靠地交付产品。


同时,京东还致力于为云原生技术开源贡献价值,将内部孵化并经过实践验证的融合分布式文件系统与对象存储服务的 ChubaoFS 捐献给 CNCF,将分布式数据库中间件 Apache ShardingSphere 开源项目捐赠给 Apache 基金会,并成为从 Apache 孵化器毕业的顶级项目,持续在云原生领域推动技术创新,推动云原生计算可持续发展。


下期我们将重点为大家深入介绍 ChubaoFS 开源项目的历史发展及在京东的应用实践。


↓↓来京东智联云云上展厅,近一步了解京东云原生技术↓↓

https://cncf.lfasiallc.cn/support/jdcloud


共0条评论

相关产品