腾讯大讲堂45 解剖ttc

Post on 05-Jul-2015

648 views 3 download

Transcript of 腾讯大讲堂45 解剖ttc

大 堂腾 讯 讲

第四十五期

研 管理部发

大 堂主 :讲 页 http://km.oa.com/class与 互 : 讲师 动 http://km.oa.com/group/class

Tencent Table Cache

互联网业务系统平台架构组

分享主题

背景 功能特点 架构原理 内存管理 未来… QA

背景 互联网应用的数据访问特点

海量 并发 热点

存储系统的性能瓶颈

Tencent Table Cache TTC 是提供高速数据访问服务的通用 cache server 。特点是采用

epoll 和异步状态机模式提高并发能力。

功能特点 更加安全的数据操作 更为紧凑的内存存储 更加高效的数据访问(批量) 强大的异步处理机制 支持多种数据源离散存储 高效的网络接入能力

架构原理 1

Inco

min

g

Cach

e

DataS

ource

ttcd

Cach

e

HelperHelper

HelperHelper

HelperHelper

helperd

task unix socket tcp

架构原理 2

处理单元TimerTimeNotify

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