架构师训练营第五周总结
1.分布式缓存
缓存:存储在计算机上的一个原始数据复制集,以便于访问一维基百科
缓存是介于数据访问者和数据源之间的一种高速存储,当数据需要多次读取的时候,用于加快读取的速度。
1.1 缓存的关键指标
缓存命中率
缓存是否有效依赖于能多少次重用同一个缓存响应业务请求,这个度量指标被称作缓存命中率。
如果查询一个缓存,十次查询九次能够得到正确结果,那么它的命中率是90%。
1.2 影响缓存命中率的主要指标
缓存键集合大小
缓存可使用内存空间
缓存对象生存时间
1.3 合理使用缓存
使用缓存对提高系统性能有很多好处,但是不合理的使用缓存可能非但不能提高系统的性能,还会成为系统的累赘,甚至风险。实践中,缓存滥用的情景屡见不鲜一一过分依赖缓存、不合适的数据访问特性等
1.4 案例分享
电信使用redis缓存资源数据
1.4.1 业务背景
工程人员到现场做施工,需要通过工程预约平台做工程申请预约,会选择申请资源(基站、传输设备等),填写申请单后,审批通过然后到现场做工程。
1.4.2 分析
工程人员选择资源时特别慢,最初设计从数据库查询,由于电信资源数据种类多,数据量大,资源查询很慢,有些关联的数据查询更慢。
1.4.3 改造
把资源数据预加载缓存到redis,每次查询资源数据则从redis查询,
在redis中没查询到,再从数据库查询。
数据库查询的结果保存在redis中。
2.消息队列与异步架构
3.负载均衡
4.分布式数据库
4.1 MySQL主从复制
4.2 MySQL一主多从
4.3 MySQL 主主复制
版权声明: 本文为 InfoQ 作者【涛】的原创文章。
原文链接:【http://xie.infoq.cn/article/5864d72ba17dbcf8114cd7d35】。文章转载请联系作者。
评论