大 堂腾 讯 讲
第四十五期
研 管理部发
大 堂主 :讲 页 http://km.oa.com/class
与 互 :讲师 动 http://km.oa.com/group/class
Tencent Table Cache
互联网业务系统平台架构组
分享主题
 背景
 功能特点
 架构原理
 内存管理
 未来…
 QA
背景
 互联网应用的数据访问特点
 海量 并发 热点
 存储系统的性能瓶颈
 Tencent Table Cache
 TTC 是提供高速数据访问服务的通用 cache server 。特点是采用
epoll 和异步状态机模式提高并发...
功能特点
 更加安全的数据操作
 更为紧凑的内存存储
 更加高效的数据访问(批量)
 强大的异步处理机制
 支持多种数据源离散存储
 高效的网络接入能力
架构原理 1Incoming
Cache
DataSource
ttcd
Cache
Helper
Helper
Helper
Helper
Helper
Helper
helperd
task unix socket tcp
架构原理 2
处理单元Timer
TimeNotify
InputNotify OutputNotify
处理单元
InputNotify OutputNotify
task
架构原理 3
 处理路径的抽象允许随时 attach 新的处理
单元,扩展程序功能
 Cache 系统和数据访问 helper 分离,使得
系统支持多种数据源
 datasource 分发允许后端数据离散分布
内存管理 1 设计思路
 不固化存储结构,允许内存块大
小可变,位置可移动
 不固定索引节点属性,随时允许
动态增加
内存管理 2 特性
 Hash Bucket
 Node Index
 Node Group
 Virtual Node
 LRU List
内存管理 3 特性抽象
 众多的实现特性如何去管理?
 Feature-descriptor 对外提供统一接口
内存管理 4 属性聚合
 属性聚合使得紧密存储成为可能,能大幅提高内存利用率
 属性聚合方便动态增加新属性
内存管理 5 多级索引
内存管理 6 变长分配器
 摈弃老的定长数据
chunk 概念,不再采
用定长存储结构,转
而采用变长分配机制
 变长分配采用类似
ptmalloc 的 bins 分
配策略,使得内存分
配、释放非常高效
内存管理 7 总体视图
内存管理 8 位图存储结构
未来…
 集中部署、统一运营
 备份、容灾
 跨 IDC 分布
 …
Q&A
THE END
Upcoming SlideShare
Loading in …5
×

腾讯大讲堂45 解剖ttc

694 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
694
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

腾讯大讲堂45 解剖ttc

  1. 1. 大 堂腾 讯 讲 第四十五期 研 管理部发 大 堂主 :讲 页 http://km.oa.com/class 与 互 :讲师 动 http://km.oa.com/group/class
  2. 2. Tencent Table Cache 互联网业务系统平台架构组
  3. 3. 分享主题  背景  功能特点  架构原理  内存管理  未来…  QA
  4. 4. 背景  互联网应用的数据访问特点  海量 并发 热点  存储系统的性能瓶颈  Tencent Table Cache  TTC 是提供高速数据访问服务的通用 cache server 。特点是采用 epoll 和异步状态机模式提高并发能力。
  5. 5. 功能特点  更加安全的数据操作  更为紧凑的内存存储  更加高效的数据访问(批量)  强大的异步处理机制  支持多种数据源离散存储  高效的网络接入能力
  6. 6. 架构原理 1Incoming Cache DataSource ttcd Cache Helper Helper Helper Helper Helper Helper helperd task unix socket tcp
  7. 7. 架构原理 2 处理单元Timer TimeNotify InputNotify OutputNotify 处理单元 InputNotify OutputNotify task
  8. 8. 架构原理 3  处理路径的抽象允许随时 attach 新的处理 单元,扩展程序功能  Cache 系统和数据访问 helper 分离,使得 系统支持多种数据源  datasource 分发允许后端数据离散分布
  9. 9. 内存管理 1 设计思路  不固化存储结构,允许内存块大 小可变,位置可移动  不固定索引节点属性,随时允许 动态增加
  10. 10. 内存管理 2 特性  Hash Bucket  Node Index  Node Group  Virtual Node  LRU List
  11. 11. 内存管理 3 特性抽象  众多的实现特性如何去管理?  Feature-descriptor 对外提供统一接口
  12. 12. 内存管理 4 属性聚合  属性聚合使得紧密存储成为可能,能大幅提高内存利用率  属性聚合方便动态增加新属性
  13. 13. 内存管理 5 多级索引
  14. 14. 内存管理 6 变长分配器  摈弃老的定长数据 chunk 概念,不再采 用定长存储结构,转 而采用变长分配机制  变长分配采用类似 ptmalloc 的 bins 分 配策略,使得内存分 配、释放非常高效
  15. 15. 内存管理 7 总体视图
  16. 16. 内存管理 8 位图存储结构
  17. 17. 未来…  集中部署、统一运营  备份、容灾  跨 IDC 分布  …
  18. 18. Q&A THE END

×