1、Tair是什麼
Tair 是一個類似於map的key/value結構存儲系統(也就是緩存系統),具備標準的特性是:高性能、高擴展、高可靠,也就是傳說中的三高產品,支持分佈式集羣部署。官網說目前支持java和c這兩個版本。
具體的是:高速緩存,並且支持內存存儲和持久化存儲。
2、Tair 集羣現狀
2000個應用用戶;
Cache 服務器
650臺
千萬級別的qps
20T內存
存儲服務器
150臺
百萬級別的qps
100T
3、一些特性
• Namespace 支持緩存命名空間
• Expire 支持自動緩存和終止緩存
• Prefix 支持緩存前綴
• List,zset,hashmap,set • LocalCache 支持各種集合緩存
• FlowControl 支持緩存流控制
4、Tari 概述
5、數據分佈
6、mdb概述
• 類memcached,page/slab管理內存
• 共享內存,重啓數據不丟
• area邏輯管理
– area維度的quota與lru evict控制 – 清理某個area數據
• 數據過期
• 優化內存使用率,均衡slab • 詳細statistics監控
mdb存儲
Redis流程(存儲)
7、 Rdb流程
rdb概述
• 支持Redis所有數據結構 • 設置限制
– 內存quota • logiclock
– lazy 清理db數據
• 輕量化
– 去除aof/vm
– 精簡數據結構
• Restful協議
• 持久化
– 使用ldb作爲rdb的持久化(TODO)

8、ldb流程
9、LevelDB流程
10、ldb概述配置使用
• 多實例配置使用,充分利用IO
• 內嵌mdb作爲KV級別cache
• 配置靈活化,參數調優
– 適合大數據量的參數配置 (mmt/sst size,mmap限制,etc.)
– 特定排序算法 (字節,數字,etc.)
新功能
• 嵌入datafilter邏輯 – expiretime
– 異步清理
主動觸發compact
– Level-n => Level-n compact,清理垃圾數據 – 高Level compact,加速range合併 (TODO)
• 使用binlog做異步跨集羣數據同步
優化
 • 主動限制compact
– 限制寫入放大
– 禁掉seek觸發的compact
• 優化compact鎖粒度
– 減弱數據量增長對讀寫的性能影響
• 大數據量導入FastDump
– 數據預排序,按桶分memtable

11、應用案例
案例1
案例2
案例3
案例4
案例5
12、線上案例
• 秒殺/捉貓貓/搶紅包
• 瞬時訪問量大
• 天貓實時推薦
• 數據量大,允許丟失
• 20000 read / 20000 write
• 計數器
• 讀寫比相當
13、總結
Tair 本身是一個非常輕量級的緩存應用。並且支持高併發,是一個性能的緩存框架,比開源的緩存框架要好一些的。
關於Tair另一篇文章是詳細的說明Tair
[分享]Tair緩存系統學習 (數據結構存儲系統) http://blog.csdn.net/wendeliang06/article/details/20483127