SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión

新浪微博 洪小军 	

@XiaoJunHong @微博平台架构	

大型系统的缓存标准化之路᠋᠌᠍᠎᠋᠌᠍᠎
—从主从多级重client到一体化	

大型系统的缓存标准化之路	

•  大型系统面临的挑战
•  怎么应对每秒百万级资源调用?
•  怎么保证99.99%的可用性?
•  怎么保证核心请求响应时间在毫秒级?
大型系统的缓存标准化之路	

大型系统的缓存标准化之路	
•  讨论大纲
! 主从多级缓存
•  服务化和标准化
大型系统的缓存标准化之路	

•  系统挑战
•  每秒对资源万级请求
•  需要保证较低的响应时间
大型系统的缓存标准化之路	

•  分布式缓存
•  多节点部署
•  客户端上实现分布式
Client Master Cluster
Memcached Memcached
大型系统的缓存标准化之路	

•  系统挑战
•  服务器和网络可能会出现问题
•  后端数据库承受不了单个节点完全穿透的量
•  面临雪崩效应风险
大型系统的缓存标准化之路	

•  Master/Slave机制
•  防单点:不容许节点故障时命中率受影响
•  成本问题:可考虑同城机房互为master/slave
Client Master Cluster
Slave Cluster
大型系统的缓存标准化之路	

•  系统挑战
•  每秒对资源百万级请求
•  网络带宽、吞吐量成为瓶颈
•  存在访问量暴增可能性
大型系统的缓存标准化之路	

•  L1 Cache
•  在线线性扩容方案
•  满足业务快速发展需要
•  应对成倍访问量增加情况
Client Master Cluster
Slave Cluster
L1 Cluster
大型系统的缓存标准化之路	

•  主从多级缓存
分布式	
   Master/Slave	
   L1	
  Cache	
  
大型系统的缓存标准化之路	
•  讨论大纲
•  主从多级缓存
! 服务化和标准化
大型系统的缓存标准化之路	
•  重客户端开发模式
•  配置
•  实现
o  CacheClient client = build();
o  client.set(key, test);
o  client.get(key);
大型系统的缓存标准化之路	
•  面临的问题 – 开发层面
•  重客户端形式,主从多级缓存策略客户端实现
•  客户端存在多个版本,各业务使用不统一
•  工程师需很熟悉主从多级策略,自己把控可用性
•  曾经存在个别小业务有单点问题风险
大型系统的缓存标准化之路	
•  配置变更上线流程
容量瓶颈/
节点异常	
  
通知开发
更改配置	
  
测试/打包	
  
系统发布
上线 	
  
大型系统的缓存标准化之路	
•  面临的问题 – 运维层面
•  运维变更成本高,变更周期长
•  运维把控系统容量能力有限
•  需开发配合,完整的变更流程太长
大型系统的缓存标准化之路	
•  缓存服务化和标准化
•  Cache Service设计
•  面向服务开发
•  运维标准化
大型系统的缓存标准化之路	
•  Cache Service整体设计
大型系统的缓存标准化之路	
•  Cache Service部署结构
大型系统的缓存标准化之路	
•  协议处理逻辑
•  get:l1 – master - slave 
•  gets:master - slave
o  master失败直接返回
•  add/cas:master – others
o  master更新成功后修改命令为set,异步更新others
•  set/replace/prepend/append:all
L1 Cache
Master Cache
Slave Cache
大型系统的缓存标准化之路	
•  分布式cache怎么解决强一致性问题
•  使用cas命令?
•  分布式场景下cas会是怎么样?
•  master宕机后会出现什么状况?
•  cache service服务端 + 业务端处理 方案
大型系统的缓存标准化之路	
•  容灾策略
•  快速失败策略:节点故障调用快速返回
o  server_failure_limit
o  server_retry_timeout
大型系统的缓存标准化之路	
•  面向服务开发
•  重客户端 - 轻客户端
•  更好的多语言支持
大型系统的缓存标准化之路	
•  重客户端开发模式
•  配置
•  实现
o  CacheClient client = build();
o  client.set(key, test);
o  client.get(key);
大型系统的缓存标准化之路	
•  面向服务开发
•  配置
o  weibo:cs namespace=status-content registry=vintage” /
•  实现
o  CacheClient client = build();
o  client.set(key, aa);
o  client.get(key);
大型系统的缓存标准化之路	
•  运维标准化
•  运维对资源有直接管控能力,变更秒级生效
o  通过配置服务变更,不需依赖开发及其代码上线
•  标准化的运维流程
o  节点故障处理、扩容缩容等操作标准化
•  可以做到更自动化的运维
大型系统的缓存标准化之路	
•  提升运维管控能力
容量瓶颈/
节点异常	
  
通知开发
更改配置	
  
测试/打包	
  
系统发布
上线 	
  
容量瓶颈/
节点异常	
  
变更配置 	
  
大型系统的缓存标准化之路	
•  节点故障处理
•  替换为新的空节点,在线热缓存
•  不影响命中率
	
  
	
  
Slave	
  
node1	
   node2	
   node3	
  
	
  
	
  
Master	
  
node1	
   Crash!	
   node3	
  Client	
  
大型系统的缓存标准化之路	
•  内存容量扩容/缩容
•  添加L1 cache,在线预热,最终替换原有缓存
	
  
	
  
Slave	
  
node1	
   node2	
   node3	
  
	
  
	
  
Master	
  
node1	
   node2	
   node3	
  
Client	
  
	
  
	
  
L1(new	
  master	
  or	
  slave)	
  
node1	
   node2	
   node3	
   node4	
  
大型系统的缓存标准化之路	
•  线性扩容 – 网络带宽、吞吐量
•  在线扩容L1 cache
	
  
	
  
Slave	
  
node1	
   node2	
   node3	
  
	
  
	
  
Master	
  
node1	
   node2	
   node3	
  
Client	
  
	
  
	
  
L1	
  
node1	
   node2	
   node3	
  
大型系统的缓存标准化之路	
•  proxy扩容/缩容
•  无状态服务
•  直接在线扩容/缩容,不影响业务
谢谢

Más contenido relacionado

La actualidad más candente

美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术团队
 
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)Tim Y
 
Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0qianshi
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈Tim Y
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术团队
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践Xupeng Yun
 
Memcached vs redis
Memcached vs redisMemcached vs redis
Memcached vs redisqianshi
 
阿里CDN技术揭秘
阿里CDN技术揭秘阿里CDN技术揭秘
阿里CDN技术揭秘Joshua Zhu
 
淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统Dai Jun
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现iammutex
 
阿里云CDN技术演进之路
阿里云CDN技术演进之路阿里云CDN技术演进之路
阿里云CDN技术演进之路Joshua Zhu
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践Wensong Zhang
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Michael Zhang
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosqlknuthocean
 
了解集群
了解集群了解集群
了解集群Feng Yu
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践jackbillow
 
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践drewz lin
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团点评技术团队
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 Chao Zhu
 

La actualidad más candente (20)

美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
 
Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0Traffic server 管理员指南v1.0
Traffic server 管理员指南v1.0
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
 
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践
 
Memcached vs redis
Memcached vs redisMemcached vs redis
Memcached vs redis
 
阿里CDN技术揭秘
阿里CDN技术揭秘阿里CDN技术揭秘
阿里CDN技术揭秘
 
淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统淘宝图片存储与Cdn系统
淘宝图片存储与Cdn系统
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
 
阿里云CDN技术演进之路
阿里云CDN技术演进之路阿里云CDN技术演进之路
阿里云CDN技术演进之路
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql
 
了解集群
了解集群了解集群
了解集群
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
 
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 

Similar a 大型系统的缓存标准化之路—从主从多级重client到一体化

Redis在唯品会的应用实践.pdf
Redis在唯品会的应用实践.pdfRedis在唯品会的应用实践.pdf
Redis在唯品会的应用实践.pdfjaydenhu
 
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化丁 宇
 
新浪微博平台与安全架构
新浪微博平台与安全架构新浪微博平台与安全架构
新浪微博平台与安全架构n716
 
04.web sphere培训 应用websphere优化
04.web sphere培训 应用websphere优化04.web sphere培训 应用websphere优化
04.web sphere培训 应用websphere优化littlecong
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介drewz lin
 
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践丁 宇
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraJunchi Zhang
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
李战怀 大数据环境下数据存储与管理的研究
李战怀 大数据环境下数据存储与管理的研究李战怀 大数据环境下数据存储与管理的研究
李战怀 大数据环境下数据存储与管理的研究jins0618
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場twMVC
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统美团点评技术团队
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层yp_fangdong
 
构建可扩展的微博系统
构建可扩展的微博系统构建可扩展的微博系统
构建可扩展的微博系统lonegunman
 
Mysql调优
Mysql调优Mysql调优
Mysql调优ken shin
 
大型互联网站性能优化
大型互联网站性能优化大型互联网站性能优化
大型互联网站性能优化丁 宇
 
了解应用服务器
了解应用服务器了解应用服务器
了解应用服务器Feng Yu
 
05.wls调优
05.wls调优05.wls调优
05.wls调优Meng He
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdfStevenShing
 

Similar a 大型系统的缓存标准化之路—从主从多级重client到一体化 (20)

Redis在唯品会的应用实践.pdf
Redis在唯品会的应用实践.pdfRedis在唯品会的应用实践.pdf
Redis在唯品会的应用实践.pdf
 
淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化淘宝前台系统性能分析与优化
淘宝前台系统性能分析与优化
 
新浪微博平台与安全架构
新浪微博平台与安全架构新浪微博平台与安全架构
新浪微博平台与安全架构
 
04.web sphere培训 应用websphere优化
04.web sphere培训 应用websphere优化04.web sphere培训 应用websphere优化
04.web sphere培训 应用websphere优化
 
有道云笔记架构简介
有道云笔记架构简介有道云笔记架构简介
有道云笔记架构简介
 
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud era
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
李战怀 大数据环境下数据存储与管理的研究
李战怀 大数据环境下数据存储与管理的研究李战怀 大数据环境下数据存储与管理的研究
李战怀 大数据环境下数据存储与管理的研究
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层
 
构建可扩展的微博系统
构建可扩展的微博系统构建可扩展的微博系统
构建可扩展的微博系统
 
java title
java titlejava title
java title
 
Mysql调优
Mysql调优Mysql调优
Mysql调优
 
大型互联网站性能优化
大型互联网站性能优化大型互联网站性能优化
大型互联网站性能优化
 
了解应用服务器
了解应用服务器了解应用服务器
了解应用服务器
 
05.wls调优
05.wls调优05.wls调优
05.wls调优
 
mercury
mercurymercury
mercury
 
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf4.陈群-唯品会大规模Redis集群存储架构演进.pdf
4.陈群-唯品会大规模Redis集群存储架构演进.pdf
 

大型系统的缓存标准化之路—从主从多级重client到一体化