理解分布式系统中的缓存架构(下)
来源:http://www.tudoupe.com时间:2022-07-31
1.层级缓存架构的设计2.缓存数据一致性缓存通过缓存雪降缓存高可用性缓存热点引起的复杂性问题 3.产业案例技术挑战缓存架构图架构特点参考
阐述了分布式系统缓存架构的理解(以上),介绍了分布式大规模系统缓存的相关理论、常见缓存组件和应用场景,主要介绍了缓存架构设计的常见问题和解决方案,以及行业案例。
1.下层缓存架构的设计

2.缓存的复杂性问题
常见的问题主要包括
数据一致性
缓存穿透
缓存雪崩
缓存高可用
以下部分介绍了这些问题的分析和相应的解决方法。
数据一致性
由于缓存属于持久数据的复制品,数据不一致是不可避免的。 造成数据不良读取或读取失败。 数据不一致通常是由网络不稳定或节点故障引起的
有三个共同的场景和解决问题:

缓存穿透
缓存一般是Key,value方式存在,当某一个Key不存在时会查询数据库,假如这个Key,一直不存在,则会频繁的请求数据库,对数据库造成访问压力。
主要解决方案:
同时缓存结果的数据。在该键有数据后清理缓存
一定不存在的key,采用布隆过滤器,建立一个大的Bitmap中,查询时通过该bitmap过滤
缓存雪崩

缓存高可用
缓存是否高度可用取决于实际场景,并非所有操作都要求它高度可用,并且需要与特定操作结合在特定情况下设计程序,例如关键点是否影响后端数据库。
主要解决方案:
分布方法:采用海缓冲实现数据
复制:缓冲数据节点的高可用性
缓存热点
一些特殊的热点数据,高并行访问相同的缓存数据,导致缓存服务器的过压。
解决方案:复制多个缓存拷贝,向多个缓存服务器分发请求,减少缓存热点造成的单个缓存服务器压力
3. 业界案例
主要指陈宝技术共享的 Sina Weibo案例
技术挑战

Feed缓存架构图

架构特点
Sina Weibo在分布式缓存场景中使用SSD,传统的Redis/MC+Mysql方法,扩展到Redis/MC+SSD缓存+Mysql模式,SSD缓存被用作L2缓存,首先,Mc/Redis的成本太高,容量小的问题,它还解决了数据库入侵导致的数据库访问压力
主要在数据架构、性能、存储成本、服务等各个方面进行优化和改进


相关新闻
- 2023-04-16 2台电脑怎么共享(2台电脑怎么共享
- 2023-04-16 主板检测卡代码(电脑主板检测卡代
- 2023-04-16 dnf未响应(dnf未响应老是上不去)
- 2023-04-16 ppoe(pppoe拨号上网)
- 2023-04-16 网速不稳定(网速不稳定是路由器的
- 2023-04-16 wds状态(Wds状态成功)
- 2023-04-16 光标键(光标键不动了怎么办)
- 2023-04-16 电脑提速(电脑提速100倍的方法)
- 2023-04-16 切换用户(切换用户怎么切换回来
- 2023-04-16 数据包是什么(产品数据包是什么
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
