Agoda实现50倍增长的秘诀:打好数据库基础

Agoda实现50倍增长的秘诀:打好数据库基础

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

Agoda在2023至2025年间流量激增50倍,面临工程挑战。团队通过优化ScyllaDB、改进缓存和数据模型、升级硬盘,成功实现300K EPS的容量提升,保持10ms延迟,顺利应对流量波动。

🎯

关键要点

  • Agoda在2023至2025年间流量激增50倍,面临工程挑战。

  • 团队需要优化ScyllaDB以保持10ms的延迟,面对突发流量和缓存命中率不稳定的问题。

  • Agoda的特征存储支持离线模型训练和在线推理,是其业务的核心。

  • 当前每秒服务约350万实体,使用DragonflyDB作为非持久化缓存。

  • 在2023年中期,Agoda遇到容量问题,流量突增至120K EPS,导致缓存失效和请求重复。

  • 通过增加客户端缓存和减少不必要请求,将流量降低至7K EPS,保持稳定。

  • 团队通过测量冷缓存性能,发现不良数据中心的基线读取能力仅为5K EPS。

  • 尝试不同的数据建模和压缩策略,最终通过调整SSTable摘要和使用NVMe硬盘实现300K EPS的容量提升。

  • 升级硬盘后,Agoda成功实现50-60倍的性能提升,达到300K EPS。

  • 团队总结出,正确设置ScyllaDB、快速存储和匹配数据模型是实现50倍扩展的关键。

🔎

延伸解读

流量激增的挑战与应对

Agoda在流量激增的情况下,面临着缓存失效和请求重复的问题。团队通过增加客户端缓存和减少不必要的请求,将流量从120K EPS降低至7K EPS,保持了系统的稳定性。这一策略强调了在高流量情况下,合理的缓存管理和请求优化的重要性。

硬盘升级的关键作用

Agoda通过将SATA硬盘升级为NVMe硬盘,实现了50-60倍的性能提升,容量从20K EPS跃升至300K EPS。这一变化表明,硬件选择对系统性能的影响巨大,尤其是在处理高并发请求时,快速存储设备能够显著改善响应时间和处理能力。

数据建模与压缩策略的探索

在面对高读负载时,Agoda尝试了不同的数据建模和压缩策略。通过调整SSTable摘要和采用分级压缩,团队成功提升了读取效率。这表明,数据结构的优化和合理的压缩策略能够有效提升数据库性能,尤其是在数据密集型应用中。

延伸问答

Agoda在2023至2025年间流量增长了多少?

Agoda在2023至2025年间流量激增50倍。

Agoda是如何优化ScyllaDB以应对流量激增的?

Agoda通过优化ScyllaDB、改进缓存和数据模型、升级硬盘来应对流量激增。

Agoda使用的缓存技术是什么?

Agoda使用DragonflyDB作为非持久化缓存,并在客户端SDK中提供缓存。

Agoda在流量突增时遇到了什么问题?

Agoda在流量突增时遇到了缓存失效和请求重复的问题,导致数据库负载过高。

Agoda如何解决容量问题?

Agoda通过增加客户端缓存、减少不必要请求和优化数据模型来解决容量问题。

Agoda的NVMe硬盘升级带来了什么效果?

NVMe硬盘升级后,Agoda的容量提升至300K EPS,实现了50-60倍的性能提升。

🏷️

标签

➡️

继续阅读