微服务架构 | 多级缓存

INDEX

通用设计概述

通用设计思路如下图

内容分发网络(CDN)

可以理解为一些服务器的副本,这些副本服务器可以广泛的部署在服务器提供服务的区域内,并存有服务器中的一些数据。

用户访问原始服务器时,其中的静态资源(比如banner图片、图标、js脚本、css文件、静态页面等)会由 CDN 分发到距离用户较近的副本服务器上并返回对应内容,加速访问效率

原始请求经过 CDN 后,会自动按请求内容分发至距离合适的副本服务器或原始服务器

OpenResty

OpenResty,附 官网,是一个基于 Nginx + Lua 实现的服务端开发平台。

其目的旨在在合适的情况下跳过服务,直接访问服务对应的资源本身

JVM 进程缓存(caffeine)

服务级缓存(Redis)

数据持久层

§2 优势

  • 分担缓存压力
  • 进程缓存相对于分布式缓存,节省了网络io的开销,速度更快
  • 使用时,可以减少访问redis的频率,从根源上避免缓存的穿透、击穿、雪崩
  • 可用性更强,即使进程缓存、分布式缓存之一不可用,也不会导致整体缓存失效,可以争取服务恢复时间
相关推荐
山猪打不过家猪3 小时前
(三)总结(缓存/ETag请求头)
缓存·微服务
自由鬼3 小时前
企业架构框架深入解析:TOGAF、Zachman Framework、FEAF与Gartner EA Framework
程序人生·架构
jiedaodezhuti3 小时前
EFK架构的数据安全性
架构
蓝色天空的银码星4 小时前
SpringCloud微服务架构下的日志可观测解决方案(EFK搭建)
spring cloud·微服务·架构
汪子熙5 小时前
在 Word 里编写 Visual Basic 调用 DeepSeek API
后端·算法·架构
灏瀚星空7 小时前
高频交易技术:订单簿分析与低延迟架构——从Level 2数据挖掘到FPGA硬件加速的全链路解决方案
人工智能·python·算法·信息可视化·fpga开发·架构·数据挖掘
holdonononnn8 小时前
什么是 Monorepo ? 如何实现?
架构·前端框架
沐森8 小时前
qiankun微前端
前端·架构
debug 小菜鸟9 小时前
MySQL 主从复制与一主多从架构实战详解
数据库·mysql·架构
jakeswang9 小时前
Java 项目中实现统一的 追踪ID,traceId实现分布式系统追踪
java·后端·架构