双11万亿流量下的分布式缓存系统 Tair

阿里妹导读:本文以双11面临的挑战为背景,从Tair(阿里自研高速缓存系统)发展和应用开始谈起,重点分享了性能优化方面的实践,最后对缓存热点难题给出了解决方案,希望能对大家的工作有所启发。
本文作者为宗岱,阿里巴巴资深技术专家,2008年加入淘宝,阿里分布式缓存、NoSQL数据库Tair和Tengine负责人。

Tair概览

Tair发展历程

Tair在阿里巴巴被广泛使用,无论是淘宝天猫浏览下单,还是打开优酷浏览播放时,背后都有Tair的身影默默支撑巨大的流量。Tair的发展历程如下:

  • 2010.04 Tair v1.0正式推出@淘宝核心系统;
  • 2012.06 Tair v2.0推出LDB持久化产品,满足持久化存储需求;
  • 2012.10 推出RDB缓存产品,引入类Redis接口,满足复杂数据结构的存储需求;
  • 2013.03 在LDB的基础上针对全量导入场景上线Fastdump产品,大幅度降低导入时间和访问延时;
  • 2014.07 Tair v3.0 正式上线,性能数倍提升;
  • 2016.11 泰斗智能运维平台上线,助力2016双11迈入千亿时代;
  • 2017.11 性能飞跃,热点散列,资源调度,支持万亿流量。

Tair是一个高性能、分布式、可扩展、高可靠的key/value结构存储系统!Tair特性主要体现在以下几个方面:

  • 高性能:在高吞吐下保证低延迟,Tair是阿里集团内调用量最大系统之一,双11达到每秒5亿次峰值的调用量,平均访问延迟在1毫秒以下;
  • 高可用:通过自动failover,限流,审计和机房内容灾以及多单元多地域,确保系统在任何情况下都能正常运行;
  • 规模化:分布全球各个数据中心,阿里集团各个BU都在使用;
  • 业务覆盖:电商、蚂蚁、合一、菜鸟、高德、阿里健康等。

Tair除了普通Key/Value系统提供的功能,比如get、put、delete以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景。Tair应用场景包括以下四种:

  1. MDB 典型应用场景:用于缓存,降低对后端数据库的访问压力,比如淘宝中的商品都是缓存在Tair中;用于临时数据存储,部分数据丢失不会对业务产生较大影响,例如登陆;
  2. LDB 典型应用场景:通用kv存储、交易快照、安全风控等;存储黑白单数据,读qps很高;计数器功能,更新非常频繁,且数据不可丢失。
  3. RDB 典型应用场景:复杂的数据结构的缓存与存储,如播放列表,直播间等。
  4. FastDump 典型应用场景:周期性地将离线数据快速地导入到Tair集群中,快速使用到新的数据,对在线读取要求非常高;读取低延迟ÿ

你可能感兴趣的:(java)