如何 VTEX 利用 Amazon DynamoDB 改善购物体验 数据库博客

VTEX 如何利用 Amazon DynamoDB 改善购物体验

主要重点

VTEX 选择 Amazon DynamoDB 来改善其购物车系统,提高了约 30 的 API 响应速度。透过数据优化、移除不必要字段和压缩策略,VTEX 成功降低了购物车数据的大小。在采用分阶段迁移策略的过程中,VTEX 减少了风险并验证了性能指标。

VTEXNYSE VTEX是一个企业数位商务平台,帮助企业领导人智能管理投资。我们的组合性且完整的平台使品牌和零售商能够现代化其技术堆叠,快速从旧系统迁移、链接整个价值链,并提升库存和履约效率。

在这篇文章中,我们将讨论最近使用 AWS 的系统现代化,目的是改善购物车的延迟及提高每次操作的效率,从而增进顾客的购物体验。

需求分析

购物车管理是任何电子商务系统的核心。它需要简单、快速且可靠。购物车的大小可以根据插入的信息类型和数量而有所不同,比如物品、地址等。

多年来,VTEX 使用 Amazon Simple Storage ServiceAmazon S3作为主要的购物车存储层。其可靠性和对对象大小限制的灵活性在很长一段时间内都是优势。例如,一个购物车的大小可以从 1 KB 到 50 MB,并在高峰期间每分钟的 PUT 请求数达 300000 次以上。

在电子商务领域,响应速度越快,转换率也越高。我们希望改善购买体验,提升顾客的转换率。

为了实现这一目标,我们评估了数据存储性能的改进。我们选择了 Amazon DynamoDB ,因其低延迟、管理服务能力可减轻维护数据库实例的负担,并且 DynamoDB 已经作为公司技术堆叠中数据和分析的部分。

面临挑战

我们进行了一次概念验证,以更好地了解 DynamoDB 是否能满足我们的需求。经过仔细评估后,我们发现某些购物车项目大小超出了 400 KB 的 DynamoDB 项目大小限制。

猎豹vnp

我们通过以下策略,将购物车数据大小平均减少了 60 以上:

负载优化 删除不再被任何 API 处理或响应的旧字段。移除默认字段 删除购物车中的多余数据,包括空字段。这些值会在应用层面创建。数据压缩 在保存到 DynamoDB 之前,将数据压缩为字元阵列字段。

接下来,剩余大于 400 KB 的对象将被卸载到 Amazon S3。

解决方案概述

VTEX 决定逐步迁移到新解决方案,以避免不必要的风险并验证相关指标。

在初始阶段,我们将数据写入 DynamoDB 和 Amazon S3,但仅从 Amazon S3 读取。随后,我们主要从 DynamoDB 读取回退读取仍然从 Amazon S3 进行,但继续在两者之间写入。第三步,我们停止在 Amazon S3 上写入,仅使用它进行回退和卸载对象。最后,我们停止将 Amazon S3 作为回退阅读,只用来存储大于 DynamoDB 项目大小限制的大对象。

以下表格显示了四个阶段中每个存储服务的使用类型。DynamoDB 被证明是我们当前和未来用例中的更快、更高效的解决方案。

阶段从 Amazon S3 读取写入 Amazon S3从 DynamoDB 读取写入 DynamoDB1 被动复制2 回退阅读回退3 停止复制回退4 主要使用 DynamoDB

迁移过程

VTEX 需要迁移超过 40 亿个项目总计 70 TB。由于这是一个关键任务应用,团队在 Amazon S3 的 TTL 的帮助下进行了逐步迁移。我们将迁移分成四个不同的阶段。

被动复制

我们将购物车元素写入 DynamoDB 和 Amazon S3,以准备迁移。这使我们能够评估在 DynamoDB 的容量使用情况及其错误率和限流,并在时间上的延迟,仍然在 Amazon S3 中进行写入以防止回滚。

回退阅读

在双写入的 10 天后,我们选择将应用程序指向 DynamoDB,同时依赖 Amazon S3 处理 10 天前的数据请求。此时我们还是会在两个数据库中执行写入以防回滚。

如何 VTEX 利用 Amazon DynamoDB 改善购物体验 数据库博客

采用 DynamoDB 进行此工作负载后,我们看到一致的延迟改善,如以下图所示。

停止复制

尽管在准备回滚的情况下,我们仍继续向 Amazon S3 中复制写入。然而,当团队对阶段二成功感到自信后,我们停止在 Amazon S3 上写入。这一步骤对延迟造成了极大的影响,同时移除了回滚至 Amazon S3 的可能性,从而降低了购物车的 API 延迟约 30。

!Latency Improvement

此外,在接下来的 AWS 成本和使用报告CUR中,我们可以看到此阶段的效率提升。

主要使用 DynamoDB

最后,我们停止使用 Amazon S3 作为回退阅读,仅用于卸载超过 400 KB 的文件。随著这一改变,最终实现了延迟改善。

结论

在这篇文章中,我们展示了 VTEX 如何使用 Amazon DynamoDB 现代化其购物车系统。通过这次改进,VTEX 能够将购物车 API 的延迟提升约 30,同时改善了约 70 的购物车存储投资,并实现了平稳和安全的迁移过程。

管理每分钟数百万请求的解决方案是一项巨大的技术挑战。确保解决方案高效、可靠且延迟低对业务非常重要。

想了解更多关于 DynamoDB 的资讯,请参见 开始使用 DynamoDB。

关于作者

Mateus Ribeiro de Castro 是 VTEX 的软体工程师,热衷于解决技术挑战,提供卓越的创新解决方案来解决客户问题。

Tiaraju Smaneoto 是 VTEX 的软体工程师,喜欢将现实世界问题转化为代码和耐用的软体架构。

Alberto Frocht 是 AWS 的高级合作伙伴解决方案架构师,支持战略独立软体供应商为客户开发最佳解决方案。

Loading comments

在 AWS 上建立数据边界:分析您的账户活动以评估影响并完善控制措施 安全博客

在 AWS 上建立数据边界:分析您的账户活动以评估影响并完善控制措施 安全博客

在 AWS 上建立数据边界:分析帐户活动以评估影响并改进控制措施主要收获在 AWS 上建立数据边界需要分析帐户活动,以确保数据存取的安全性和合规性。本篇文章将指导如何利用 AWS 的日志和分析工具加速控制措施的实施,并持续监控数据存取模式,以适应业务成长和合作伙伴关系的变化。A data perim...

将 AWS 控制台操作转换为可重用的代码,现已普遍可用 新闻博客

将 AWS 控制台操作转换为可重用的代码,现已普遍可用 新闻博客

AWS 控制台操作转化为可重用代码功能现已普及关键要点今天,我们正式发布了 AWS ConsoletoCode,用户可以轻松将 AWS 控制台操作转换为可重用的代码。这项功能使得记录 AWS 控制台中的操作和工作流程变得简单,如启动 Amazon EC2 实例,并生成相应的 AWS CLI 命令。用...

搜索

vps加速器下载

猎豹加速官网,成立于1997年,是一家位于浙江省嵊州市的高科技金融支付公司。自成立以来,公司专注于提供安全、快捷、创新的电子支付解决方案,致力于通过科技创新推动金融服务的变革和升级。猎豹加速官网已经成为中国支付行业的领头羊之一,服务覆盖全国数千万个客户,包括个人用户、企业以及政府机构。

公司的主要业务涵盖了互联网支付、移动支付、跨境电子支付等多个领域。猎豹加速官网采用先进的技术平台和严格的安全标准,为用户提供一站式支付解决方案,有效地支持了各种商业活动的数字化转型。此外,金链支付也在不断开拓创新,例如推出基于区块链技术的支付系统,以及与大数据、人工智能等前沿技术的深度融合,进一步提升支付安全性和效率。

随着全球数字经济的快速发展,猎豹加速官网也积极拓展国际市场,已经和多个国家和地区的金融机构建立了合作关系,使得金链支付的服务能够跨越国界,满足更多用户的跨境支付需求。公司不仅仅是支付技术的提供者,更是全球支付行业创新的引领者。

为了更好地履行企业社会责任,猎豹加速官网还积极参与多种公益活动,致力于通过企业力量改善社会福利,并推动可持续发展。公司设立了专门的社会责任部门,负责规划和执行各类社会贡献项目,如教育支持、环境保护和扶贫等。

总部位于风景秀丽的嵊州市,猎豹加速官网在这里不仅享受到了优越的地理和政策优势,同时也贡献了大量的就业机会,推动了地方经济的发展。公司注重团队建设和员工福利,提供了优厚的薪资福利和持续的职业发展机会,吸引了大量优秀人才的加盟。

展望未来,猎豹加速官网将继续坚持“安全、快捷、创新”的经营理念,不断探索和实践新的支付技术,进一步扩大服务范围,为全球用户提供更多样化、便捷化的支付服务,推动全球支付行业的持续健康发展。