- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内存数据库服务运营之路讲解
内存数据库服务运营之路
?
?
目录
新浪内存数据库服务发展历程
内存数据应?用存储架构演进
?
?
计数服务存储演化
社交图谱存储演化
?
?
OPS组织结构及运维系统架构演进
反思与总结
2011-2015
In memory application roadmap in Sina
0
6.5
13
19.5
26
2011
2012
2013
2014
2015
Redis(TB)
Memcached(TB)
In memory application roadmap in Sina
0
60
120
180
240
2011
2012
2013
2014
2015
Redis应?用数
Memcached应?用数
In memory application roadmap in Sina
0
4000
8000
12000
16000
2011
2012
2013
2014
2015
Redis?日请求数(亿)
Memcached?日请求数(亿)
2011-2015
?
?面临挑战
?
?
?
?
?
?
?
2011微博索引Memcached请求量翻番 - 缓存失效?风险
2012微博计数服务Redis改造上线 - Redis?高可?用
2013异地机房部署 - 跨机房数据更新
2013微博核?心缓存请求量再次翻番 - 缓存?面临超级热点
2013年内存容量增?长三倍 - Redis应?用内存疯?长
2013 2014App数量及请求量增?长四倍 - 运维效率
2015 2016 ?
Memcached Roadmap in Sina
?
?
应对缓存实效?风险
共享内存,更多分?片
(without multiget)
主备缓存(with multiget)
Client
set
get
Client
1
Master
1
Slave
1
Master
2
Slave
3
Cache
应对跨机房数据更新
?
消息总线 (e.g.WMB)
? 优势:不依赖队列外其他组件
?
劣势:消息总线复杂性较?高
?
中间件更新 (e.g. Cacheservice)
?
?
优势:应?用透明,相对运维友好
劣势:可靠性较低
?
数据库复制 (e.g. MySQL Replication +
Mytriggerq + Processor)
?
优势:可靠
?
劣势:维护额外数据库同步,消息格
式转化相对受限。
DC1 Update
Client
Cache
DC2 Replicate
Procsso
r
WMBq
WMBp
WMBq
Cache
Cache
DC1 Update
DC2 Replicate
Client
Cacheservice
Cache
Cache
DC1 Update
DC2 Replicate
Client
Database
Database
Mytq
Procsso
r
replication
WMBp
set
get
应对超级热点
?
?
多级缓存
核?心缓存快速构建数据副本
?
Memcached L1 Group
L1
Frontend
Local
App
L0
L1
L1
Frontend
Local
App
L0
CoreAPI
Master
Slave
Redis Roadmap in Sina
?
?一主多从
?
Slave故障?自动摘除
?
Master故障选主后闪恢复
RDB
AOF1
AOF2
AOF3
…
Redis?高可?用
Master
Slave 1
Slave 2
Syncing
from
3-1001
Syncing
from
3-901
Master
RDB
AOF2
AOF3
…
New Master
AOF1
Slave 2
Sync
from
3-901
?
Cache化改造
? store:cache 9:1 - 6:4
?
数据结构优化
?
Redisscounter
?
Counterservice
DictEntry
16字节
RedisObject 16
字节
SDS Key
32字节
SDS
16字节
Key
20字节
Value
4字
节
a K-V structure
3倍容量优化
Redis内存疯涨
存储?一个Key 20字节 ,两个Value 4字节计数
a K-V structure
X2
X2
Key
20字节
a K-V structure
X1
Value Value
4字 4字
节 节
2倍容量优化
应?用存储架构演进
?
计数服务存储演化
Redis
?
?十亿级计数
?用Redis存储1亿计数需要多
?
文档评论(0)