亚马逊AWS官方博客

采用 Amazon Aurora Serverless v2 优化电商 SaaS 平台数据库架构

前言

在当今快速发展的电子商务领域,SaaS 平台提供商面临着诸多挑战,其中最关键的是高效管理和扩展其数据库基础设施。这个挑战涉及处理不可预测的工作负载、优化资源利用、降低运维复杂性,以及控制成本。本文将探讨店匠科技(Shoplazza),一家领先的全球电商 SaaS 解决方案提供商,如何利用 Amazon Aurora Serverless v2 来应对这些挑战,优化其数据库架构,提高资源利用率,并简化运维工作。

店匠科技简介

店匠科技(Shoplazza)是一家专注于为全球电商提供产品和技术解决方案的公司,其核心产品——全球独立站(Shopping Cart)SaaS 平台集品牌主题、商品订单管理、营销插件、多货币语言等功能,并融入 Shoplazza POS 零售方案。该方案是基于云的先进零售平台,集成了软硬件及支付功能,对接多渠道,通过一站式管理和个性化服务,为全球商户打造更智能、更高效的零售生态系统。

技术挑战

微服务架构的复杂性

作为一个快速增长的 SaaS 平台,店匠科技采用微服务架构来支持其灵活的业务需求。每个主要服务(如店铺、装饰主题、加购、通知、订单、营销、支付等)都有自己的独立数据库。这种架构带来了快速迭代、灵活发布和故障隔离等优势,但同时也引发了一系列挑战:

  1. 维护复杂性:管理多个独立的数据库集群显著增加了运维工作量和复杂度。DBA 团队需要监控、调优和维护多个数据库实例,这不仅耗时而且容易出错。
  2. 资源浪费:为了保证高可用性,每个微服务的数据库都采用主备部署模式。备用实例的规格需要与主实例相同,以确保在故障转移时能够承担全部业务流量。然而,在正常运行期间,这些备用实例大部分时间处于闲置状态,造成了显著的资源浪费。
  3. 成本挑战:维护多个全尺寸的备用实例不可避免地增加了整体运营成本。这种固定成本模式在业务负载波动较大的情况下尤其不经济。
  4. 扩展难度:随着业务增长,手动调整每个数据库集群的容量变得越来越繁琐和耗时。这不仅影响了团队的工作效率,还可能导致性能问题和用户体验下降。

技术架构图

下图展示了店匠科技从微服务视角的技术架构,突出显示了核心服务的数据库集群:

Amazon Aurora Serverless v2 解决方案

为了应对这些挑战,店匠科技决定采用 Amazon Aurora Serverless v2 作为其读副本解决方案。Aurora Serverless v2 的核心特性及其带来的优势包括:

自动扩缩容

  • 工作原理:Aurora Serverless v2 使用 ACU(Aurora Capacity Units)作为计量单位。每个 ACU 约等于 2 GiB 的内存、相应的 CPU 和网络资源的组合。
  • 灵活配置:用户可以根据业务需求,配置最小 0 ACU 到最大 256 ACU 的容量范围。
  • 优势:能够在秒级内根据工作负载自动调整数据库容量,确保在需要时提供足够的资源,同时在低负载期间减少资源使用,优化成本。

高可用性

  • 作为读副本,Aurora Serverless v2 保证了系统的高可用性,同时减少了主实例的负载。

成本优化

  • 按需付费模式:显著降低了在低负载期间的运营成本,避免了为峰值容量付费的问题。

运维简化

  • Aurora Serverless v2 的自动化扩缩容机制大大减少了人工干预和运维工作量,使 DBA 团队能够专注于更高价值的任务。

灵活性

  • 读副本能够轻松应对临时的查询需求和数据分析任务,无需担心影响主实例性能。

实施效果

通过采用 Aurora Serverless v2,店匠科技实现了显著的改进:

资源利用率提升

  • 在低负载期间,数据库资源自动缩减,避免了之前备用实例的闲置浪费。
  • 平均资源利用率从之前的 30%提升到了 70%以上。

性能保障

  • 在流量高峰期,Aurora Serverless v2 能够在分钟内迅速扩容,确保了查询性能和用户体验。

运维效率提升

  • DBA 团队的数据库运维工作减少了50%,使他们能够专注于数据建模、查询优化等更高价值的任务。

成本节约

  • 按需付费模式和更高的资源利用率带来了显著的成本节约。
  • 相比固定规格实例,整体数据库运营成本降低了 47%。

架构灵活性

  • 为未来的业务增长和新服务添加提供了更大的灵活性。

下图展示了 Aurora Serverless v2 的 ACU 弹性曲线,反映了一天内工作负载如何动态调整资源:

总结与展望

通过采用 Amazon Aurora Serverless v2,店匠科技成功优化了其 SaaS 平台的数据库架构。这一解决方案不仅提高了资源利用率和成本效益,还简化了数据库管理,使店匠科技能够更专注于核心业务创新和客户服务。

对于类似店匠科技这样的快速增长的 SaaS 服务提供商,Aurora Serverless v2 提供了一个强大而灵活的数据库解决方案,能够有效应对不断变化的业务需求和工作负载。

展望未来,店匠科技计划进一步探索 Aurora Serverless v2 的高级特性,如全球数据库,以支持其国际化战略。同时,他们也建议其他面临类似挑战的公司考虑采用 Serverless 数据库解决方案,以实现更高的运营效率和业务灵活性。

本篇作者

张夏(Summer)

Shoplazza Infra 团队负责人。擅长基础设施的构建与优化,有丰富的线上稳定性治理、过程质量改进、研效洞察提升及成本优化等实际落地经验。

林益龙

亚马逊云科技解决方案架构师,专注于在企业中推广云计算与人工智能的最佳实践。曾担任运维经理、解决方案架构师等岗位,拥有多年的企业 IT 运维和架构设计经验。