腾讯大讲堂45 解剖ttc

3,290 views
3,153 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,290
On SlideShare
0
From Embeds
0
Number of Embeds
48
Actions
Shares
0
Downloads
662
Comments
0
Likes
3
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. 分享主题 <ul><li>背景 </li></ul><ul><li>功能特点 </li></ul><ul><li>架构原理 </li></ul><ul><li>内存管理 </li></ul><ul><li>未来… </li></ul><ul><li>QA </li></ul>
  4. 4. 背景 <ul><li>互联网应用的数据访问特点 </li></ul><ul><ul><li>海量 并发 热点 </li></ul></ul><ul><li>存储系统的性能瓶颈 </li></ul><ul><li>Tencent Table Cache </li></ul><ul><ul><li>TTC 是提供高速数据访问服务的通用 cache server 。特点是采用 epoll 和异步状态机模式提高并发能力。 </li></ul></ul>
  5. 5. 功能特点 <ul><li>更加安全的数据操作 </li></ul><ul><li>更为紧凑的内存存储 </li></ul><ul><li>更加高效的数据访问(批量) </li></ul><ul><li>强大的异步处理机制 </li></ul><ul><li>支持多种数据源离散存储 </li></ul><ul><li>高效的网络接入能力 </li></ul>
  6. 6. 架构原理 1 Incoming 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 <ul><li>处理路径的抽象允许随时 attach 新的处理单元,扩展程序功能 </li></ul><ul><li>Cache 系统和数据访问 helper 分离,使得系统支持多种数据源 </li></ul><ul><li>datasource 分发允许后端数据离散分布 </li></ul>
  9. 9. 内存管理 1 设计思路 <ul><li>不固化存储结构,允许内存块大小可变,位置可移动 </li></ul><ul><li>不固定索引节点属性,随时允许动态增加 </li></ul>
  10. 10. 内存管理 2 特性 <ul><li>Hash Bucket </li></ul><ul><li>Node Index </li></ul><ul><li>Node Group </li></ul><ul><li>Virtual Node </li></ul><ul><li>LRU List </li></ul>
  11. 11. 内存管理 3 特性抽象 <ul><li>众多的实现特性如何去管理? </li></ul><ul><li>Feature-descriptor 对外提供统一接口 </li></ul>
  12. 12. 内存管理 4 属性聚合 <ul><li>属性聚合使得紧密存储成为可能,能大幅提高内存利用率 </li></ul><ul><li>属性聚合方便动态增加新属性 </li></ul>
  13. 13. 内存管理 5 多级索引
  14. 14. 内存管理 6 变长分配器 <ul><li>摈弃老的定长数据 chunk 概念,不 再 采用定长存储结构,转而采用变长分配机制 </li></ul><ul><li>变长分配采用类似 ptmalloc 的 bins 分配策略,使得内存分配、释放非常高效 </li></ul>
  15. 15. 内存管理 7 总体视图
  16. 16. 内存管理 8 位图存储结构
  17. 17. 未来… <ul><li>集中部署、统一运营 </li></ul><ul><li>备份、容灾 </li></ul><ul><li>跨 IDC 分布 </li></ul><ul><li>… </li></ul>
  18. 18. Q&A <ul><li>THE END </li></ul>

×