从容器平台到微服务架构,当当网的云原生之路

从容器平台到微服务架构,当当网的云原生之路

作者:佚名 2021-09-27 16:58:51

云计算

云原生 从当当网的Knative应用案例可见,Knative对于Serverless平台的标准化意义重大。Knative的发展前景广阔,有望成为未来的主流无服务架构平台。同时,Knative还在逐步走向成熟的阶段,大规模应用还需要进一步完善。

当当网是全球知名的综合性网上购物商城,涵盖图书、电子书、听书、服装、百货等品类。在数字化已经成为社会经济发展趋势的背景下,电商行业也在数字化的驱动下加速更新换代,销售内容、社交模式、消费体验全面升级,同时也要支撑应对突发流量、新业务快速上线等需求,一套高可靠性、高可扩展性、性能强大的IT架构就成为了必需。

日前,记者采访了当当网云原生实验室负责人李志伟,对当当网近年来的数字化转型之路做了梳理。

[[426177]]
当当网云原生实验室负责人李志伟

一步跨入Kubernetes,开启云原生之路

前些年,当当网的大多数业务都运行在物理机上,运维自动化水平不高,系统架构多种多样,错综复杂,计算资源的利用率不足 20%。当有突发流量的时候,水平扩展和迁移非常困难。同时,因为历史原因,当当网的老旧服务很多,需要有一个新的平台平滑迁移过去。

根据当时的情况,当当网认为首先应该构建自己的私有云平台,然后一步一步的进行转型。但是在接触到了Kubernetes 平台之后,当当网认为可以直接进入到容器云平台。

Kubernetes是微服务架构最佳的运行平台之一,如果把当当网现有的业务按照微服务架构思想全部改造,大约需要几年的时间。当当网最终决定基于现有的应用基础做平滑迁移,在半年左右的时间把所有业务都迁移过来,第一步就是用 Kubernetes实现一个高可用的、高度自动化的运维平台,一个高效的服务编排平台。

事实证明,Kubernetes真正改造了当当网的研发流程,真正实现了一次构建就可以运行在多个运行环境中。Kubernetes 遵循 Borg 的架构思想,规范了现有的系统架构设计,实现自动化运维。并且,使用 Kubernetes 可以不被云厂商锁定,在不同的服务商之间快速迁移。

Kubernetes虽然有诸多优势,但是开发者使用它的门槛很高,起初,当当网使用Jenkins,Helm, Chart来简化CI/CD流程,但配置及运维管理依然复杂。开发人员不仅要关注容器构建、缩扩容,还要关注流量控制的实现细节,急需一种简单有效的服务编排标准来解决开发与运维管理复杂度问题。此外,Kubernetes本身并没有解决低频使用的服务资源占用问题,依然有大量服务、作业即使很少被使用,但依然占据着CPU和内存资源,导致计算资源的使用率较低。

Knative,把Serverless变得简单易用

在云原生时代,Kubernetes和Istio的引入给微服务的开发和部署提供了完整的解决方案,同时也带来了更高的维护复杂度,Knative作为新一代无服务架构平台提供了一套简洁的方案来解决微服务的管理问题。

Serverless(无服务器架构)指的是由开发者实现的业务逻辑运行在无状态的计算容器中,它由事件触发,完全被第三方管理,其业务层面的状态则被存储在数据库和其他存储资源。Serverless不代表不需要服务器,而是开发者不用过多考虑服务器的问题,计算资源作为服务而不是服务器的概念出现。Serverless是一种构建和管理基于微服务架构的完整流程,允许开发者在服务级别而不是服务器级别来管理应用部署,这大大降低了软件开发的复杂度,使得开发者可以快速迭代,更快速地开发软件。

虽然Serverless拥有无需管理基础设施、按用付费、事件驱动、自动化构建部署等优势。但是当前各厂商的Serverless标准不统一,软件不能跨厂商迁移,客观上存在厂商锁定问题,这是制约Serverless发展的最主要因素。正因为如此,谷歌发起了Knative项目。Knative 是谷歌发起的基于kubernetes平台的Serverless 开源项目, 将Serveless的服务管理,事件驱动,构建部署进行了标准化。它不仅可以以托管服务形式运行在公有云中,也可以部署在企业内部的数据中心,很好地解决了多云部署以及供应商锁定问题。

Kubernetes作为基础设施,解决了应用编排和运行环境问题。Isito作为通信基础设施层,可以保证服务的运行可检测、可配置、可追踪。Knative使用应用模板和统一的运行环境来标准化服务的构建、部署和管理。

Knative 将kubernetes和istio的复杂度进行抽象和隔离,解决了繁琐的构建,部署,服务治理步骤,并且基于开放标准使得服务变得可移植。

Knative作为开源仅两年多的项目,各项特性还在快速发展演进过程中,出于稳妥考虑,当当网选择了相对成熟的Serving组件,应用到业务形态相对独立的单品API服务进行了实践。

单品API服务是当当网基础平台中核心的基础服务之一,由一系列与商品相关的API服务构成,单品API为所有相关上游服务提供高效可靠的底层服务支持。

当当网搭建了一套完整的运行环境:首先编写用户容器对应的dockerfile,然后编写对应的Tekton task及taskrun文件,构建代码打包运行时容器推送到私有镜像仓库,编写Knative的service.yaml 配置文件并完成部署。

在运维工具方面,Knative直接使用了Kubernetes平台上的解决方案,避免了重复建设。

从测试结果来看,对比Kubernetes原生的部署方案,Knative的引入带来了27ms的延迟和10%的TPS损失。

Knative Serving支持缩容到零,极大提高了低频应用的资源占用,为了解决冷启动的问题,当当网采用保留服务最小副本数的方法,在资源占用和服务响应延迟之间进行平衡。对于可预见的高并发场景可以为服务预设预期最小所需副本数,这样避免了突发高并发请求导致大量请求积压;为服务预设最大所需副本数可以避免资源过度分配;为服务的每个POD设置最大并发请求数上限保障每个服务的可用性。

从当当网的Knative应用案例可见,Knative对于Serverless平台的标准化意义重大。Knative的发展前景广阔,有望成为未来的主流无服务架构平台。同时,Knative还在逐步走向成熟的阶段,大规模应用还需要进一步完善。

受访人:李志伟,当当网云原生实验室负责人,《Knative实战》作者。2016年加入当当网,期间担任数字业务产品线技术总监,架构部、云原生实验室负责人。一直致力于推广和实施云原生技术在当当平台的应用。2018年实现了当当云阅读产品线的全面容器化,完成了Kubernetes的平台的整体方案设计和实施工作。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/271516.html<

(0)
管理的头像管理
上一篇2025-05-08 07:53
下一篇 2025-05-08 07:54

相关推荐

  • 站群服务器如何批量管理更高效,有哪些管理技巧?

    站群服务器批量管理想提效,自动化是唯一出路,通过统一配置管理工具与面板系统,结合服务商提供的底层基础设施支持,能将运维效率提升数倍,批量管理的核心痛点与解决思路多台站群服务器分散管理,最常见的问题就是重复劳动,每次软件更新、配置修改、安全加固,都需要逐台登录操作,不仅耗时,还容易漏掉某台机器,更头疼的是,一旦某……

    2026-07-27
    0
  • 服务器磁盘IO过高如何优化?,磁盘IO过高的原因有哪些?

    服务器磁盘IO过高,核心优化路径是“先定位、再分流、后升级”,你需要通过系统工具精确判断究竟是应用程序、日志策略还是硬件瓶颈导致,然后针对性地从代码、缓存、存储架构和硬件选型四个层面下手,其中选择持有持牌自营机房和增值电信业务经营许可证的服务商,能从根本上保障底层IO稳定性,定位IO瓶颈:动手优化的第一步盲目优……

    2026-07-27
    0
  • 跨境网站访问延迟高怎么解决,网站访问慢的原因是什么?

    跨境网站访问延迟高的核心解决思路在于多维度优化网络路径,包括使用全球CDN加速、选择靠近目标区域的优质IDC机房、调整传输协议以及精简应用层资源,其中服务商的基础设施质量直接决定优化上限,为什么跨境访问延迟高?三大核心因素物理距离与光速限制数据包在海底光缆中的传输速度受限于介质,从中国到美国西海岸的物理往返时间……

    2026-07-27
    0
  • 站群服务器到底是什么意思,怎么选择比较好

    站群服务器就是一台拥有多个独立IP地址、专门用于托管和管理多个网站的高性能服务器,其核心价值在于通过独立IP降低网站间的关联风险,并提升搜索引擎优化效果,站群服务器的工作原理与适用场景站群服务器本质上是将一台物理服务器通过虚拟化或直接配置的方式,分配给多个独立IP地址,每个IP对应一个独立的网站,这些网站共享服……

    2026-07-27
    0
  • 高防服务器误封正常流量如何调整,怎么解决?

    高防服务器误封正常流量,核心调整思路是从“一刀切”转向“精细化”——通过分析业务特征,调整防护阈值、配置白名单和启用智能学习模式,让防护系统学会区分真假流量,为什么会误封正常流量误封主要源于防护策略的通用化,高防服务器通常默认启用严格防护规则,当流量特征与攻击特征库部分匹配时,就会被拦截,据行业安全白皮书指出……

    2026-07-27
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注