当前位置:网站首页>理解分布式系统中的缓存架构(下)
理解分布式系统中的缓存架构(下)
2022-08-02 00:17:00 【倾听铃的声】
1. 分层缓存架构设计2. 缓存带来的复杂度问题数据一致性缓存穿透缓存雪崩缓存高可用缓存热点3. 业界案例技术挑战Feed缓存架构图架构特点参考
承接上一篇《理解分布式系统中的缓存架构(上)》,介绍了大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景,本文主要介绍缓存架构设计常见问题以及解决方案,业界案例。
1. 分层缓存架构设计

2. 缓存带来的复杂度问题
常见的问题主要包括
数据一致性
缓存穿透
缓存雪崩
缓存高可用
缓存热点 下面逐一介绍分析这些问题以及相应的解决方案。
数据一致性
因为缓存属于持久化数据的一个副本,因此不可避免的会出现数据不一致问题。导致脏读或读不到数据的情况。数据不一致,一般是因为网络不稳定或节点故障导致
问题出现的常见3个场景以及解决方案:

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

缓存高可用
缓存是否高可用,需要根据实际的场景而定,并不是所有业务都要求缓存高可用,需要结合具体业务,具体情况进行方案设计,例如临界点是是否对后端的数据库造成影响。
主要解决方案:
分布式:实现数据的海量缓存
复制:实现缓存数据节点的高可用
缓存热点
一些特别热点的数据,高并发访问同一份缓存数据,导致缓存服务器压力过大。
解决:复制多份缓存副本,把请求分散到多个缓存服务器上,减轻缓存热点导致的单台缓存服务器压力
3. 业界案例
案例主要参考新浪微博陈波的技术分享
技术挑战

Feed缓存架构图

架构特点
新浪微博把SSD应用在分布式缓存场景中,将传统的Redis/MC + Mysql方式,扩展为 Redis/MC + SSD Cache + Mysql方式,SSD Cache作为L2缓存使用,第一降低了MC/Redis成本过高,容量小的问题,也解决了穿透DB带来的数据库访问压力
主要在数据架构、性能、储存成本、服务化等不同方面进行了优化增强

边栏推荐
- MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
- Arduino Basic Syntax
- 交返是做日内交易的必要条件
- Industrial control network intrusion detection based on automatic optimization of hyperparameters
- AXI4协议介绍
- 管理基础知识13
- swing的Jlist列表滚动条以及增加元素的问题
- 460. LFU cache
- 哪里有期货开户的正规途径?
- from origin ‘null‘ has been blocked by CORS policy Cross origin requests are only supported for
猜你喜欢
随机推荐
JS中清空数组的方法
管理基础知识18
含外部储能的电力系统暂态稳定分布式控制
mapbox使用教程
Redis 相关问题
【HCIP】BGP小型实验(联邦,优化)
MLX90640 红外热成像仪测温模块开发笔记(完整版)
期货开户是否有资金门槛?
渗透测试与攻防对抗——渗透测试基础
Mapped Statements collection does not contain value for的解决方法
期货公司开户实力经纪业务的规模
Routing strategy
Business test how to avoid missing?
How to use the go language standard library fmt package
AXI4协议介绍
Pytorch seq2seq 模型架构实现英译法任务
Realize deletion - a specified letter in a string, such as: the string "abcd", delete the "a" letter in it, the remaining "bcd", you can also pass multiple characters to be deleted, and pass "ab" can
go mode tidy出现报错go warning “all“ matched no packages
使用jOOQ将Oracle风格的隐式连接自动转换为ANSI JOIN
H5页面打开微信小程序









