Netlix Dynomite 性能基准测试,基于 AWS 和 Redis

  • Alex Giamas
  • 邹政华

2016 年 7 月 12 日

话题:数据库AWS大数据语言 & 开发架构AI

去年,Netflix 云数据库 (CDE) 团队推出了Dynomite。Dynomite 是一个代理层,旨在将任意非分布式的数据库转化为分片、多区域的分布式数据库系统。Dynomite 提供高可用性,通过Active-Active设置,即便 AWS 中整个 region 失效了,仍然能够正常工作。

Netflix 已经在生产系统里部署了 Dynomite。在系列博客文章中,Netflix 详细描述了 Dynomite 的使用场景和特性。例如在第一篇里,我们可以了解 Dynomite 帮助 Redis 在 AWS 上线性扩展的细节。

Dynomite 能够将最终一致性 (eventual consistency) 扩展为协调一致性(tunable consistency)。使用 DC_ONE 模式,读写行为在 local Availability Zone(AZ) 下是同步的;使用 DC_QUORUM 模式,本地区域特定数量结点下的操作是同步的。

由测试得到的结果,Dynomite 能从 3,6,12,24 一路扩展到 48 个节点,在 DC_ONE 和 DC_QUORUM 模式下,吞吐率都能线性地增长。与此同时,Dynomite 在延迟方面只增加了很少的开支,即便在 DC_QUORUM 模式下,(延迟) 也只有几毫秒。DC_QUORUM 模式在延迟和吞吐量方面处于劣势,但是能为客户提供更好的读写保证。

最后,Dynomite 也支持 Redis管道,能够批量地处理请求,从而提升高达 50% 的性能。Dynomite 通过提升吞吐量来减少延迟,从用户的角度讲,这是具有现实意义的。

博客系列的下一篇文章,是关于 Dynomite 中的逆熵处理问题,以及如何获取更好的一致性。

查看英文原文Benchmarking Netflix Dynomite with Redis on AWS


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

数据库AWS大数据语言 & 开发架构AI