QCon北京2012-人人网缓存系统架构的发展总结

QCon北京2012听了人人缓存发展历程,实用的信息很多,记录如下:

2012年,cache数据:10T+,数据类型:object、 list、 textcountcache server 300+ ,

调用:User 13w QPS Relation 4wQPS Auth6wQPS

阶段一

07-08年,定制化的服务,每个需求都有相应的存储逻辑,数据结构也是定制的,通过client将调用后台服务获取数据,对cachedb的操作有后台服务管理。

优点:数据接口粒度细,定制化高,调用方便。

缺点:定制化的cache种类过多,不易管理。cache与逻辑耦合在一起,每次上线不易,只能在请求低峰期上线新功能,避免cache失效导致db压力大;如果cachebug导致系统无法提供服务。

阶段二

分离cachelogic,提供cache service

cache分类依据:

类型:k-v k-list

特性:调用量、访问频率

CAP:是否容忍不一致

分类:

core cache:例如登陆认证需要的用户信息

relation cachek-list

Content cache:常见的文本信息 

app cache:提供给第三方,不重要

阶段三

HA改造,cache冗余

cache请求增多,cache某个节点崩溃会导致雪崩效应,如果cache挂掉就会导致网站挂运维。重要数据、请求量的数据做冗余,好处:提高可用性,减小某些节点的压力;问题:某些数据可能有多份副本,如果更新数据,会有考虑一致性的情况,解决方案:记录这些数据的key,在访问低峰期进行数据定期同步。另外一个问题:内存使用量增加。

避免冗余的方式:

硬件

1、cache集群足够大

2、cache节点 failover

3、cache misses统计,当节点挂掉时可容忍的miss

4、ssd提高数据库的响应能力,fushion-io提高吞吐量

cache策略:

热点数据做cache冗余,冷数据查db,普通数据合理的miss

阶段四

2010年左右,迁移到memcached,废弃自实现的cache系统,节约了30%-40%的内存使用量。

遇见的问题:

不同大小的数据统统放到memcache中,memcacheslab allocation内存分配与管理机制导致内存不能被充分利用,频繁的迁入迁出操作。

建议:大小类似的数据分配到一个集群,预先定义好每个集群的slab的大小。规划cache容量与可容忍的cache miss

阶段五

Tripod Cache2012正在做。平台化、跨IDC数据同步。支持memcacheredis。通过MQ实现IDC数据同步;淘宝Tair的跨IDC解决方案是通过mysql binlog(光纤)来实现的,实时一致性性要求极高,人人的实时性要求低。

技术细节

1、按照热度、数据大小、miss容忍度来划分

2、多线程获取同一个keycache,要注意线程同步,避免无用请求。

3、多key获取数据,通过multi get--xmemcache client支持

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第三部分,列表: QCon北京2018--《移动开发者触手可得的AI对话技术》--陈雨强.pdf QCon北京2018--《跳一跳的前世今生—.pdf QCon北京2018-Go高效并发编程蔡超.pdf QCon北京2018-《万台集群性能优化方法—.pdf QCon北京2018-《以Null的处理、回调地狱的应对为例,看C#背后的问题解决思路》-Mads Torgersen.pdf QCon北京2018-《唯快不破—.pdf QCon北京2018-《小Q机器人的诞生之路》-王辉.pdf QCon北京2018-《微服务和甲骨文无服务器计算》-胡平.pdf QCon北京2018-《拥抱变化:演进式架构》-Neal_Ford.pdf QCon北京2018-《文本智能处理的深度学习技术》-陈运文.pdf QCon北京2018-《新一代数据中心对传统基础软件架构的挑战》-王华夏-4.17.pdf QCon北京2018-《无人店之人脸识别技术探讨》-王止观.pdf QCon北京2018-《智能业务运维驱动企业高效增长》-张涛 .pdf QCon北京2018-《未来都市--智慧城市与基于深度学习的机器视觉》-陈宇恒.pdf QCon北京2018-《用Ethereum设计联盟链系统》-刘尚奇.pdf QCon北京2018-《用正确分享来磨练专家实力—.pdf QCon北京2018-业务高速发展下的互联金融系统架构演变-张现双 .pdf QCon北京2018-互联文本内容安全:一种对抗式AI设计实践-王国印.pdf QCon北京2018-优酷大数据质量平台及线上质量闭环-万传奇.pdf QCon北京2018-传统企业DevOps 微服务从0到1-Bocloud博云-赵安全.pdf QCon北京2018-关于时间的各种编程与API设计问题-贺师俊.pdf QCon北京2018-培育创新生态系统,提升业务敏捷性-吴穹.pdf QCon北京2018-基于Kubernetes与Helm的应用部署平台构建实践-张夏-赵明 .pdf QCon北京2018-大数据助力测试策略制定到质量评估的智能化-张春兵.pdf QCon北京2018-大数据架构下的质量工具建设-孔祥云.pdf QCon北京2018-工程师个人成长中的若干心理学问题-李鑫.pdf QCon北京2018-手Q性能优化的大数据实战-谭力.pdf QCon北京2018-滴滴基于大数据的用户问题定位建设与实践-张晓杰.pdf QCon北京2018-超越敏捷 互联产品的交付和创新方法-何勉.pdf QCon北京2018-适应性目标管理-付俊凤.pdf QCon北京2018-项目管理中的一些实用技巧-朱赟.pdf QCon北京2018-高并发大容量NOSQL解决方案探索-孟显耀.pdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值