微服务架构 | 多级缓存

INDEX

通用设计概述

通用设计思路如下图

内容分发网络(CDN)

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

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

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

OpenResty

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

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

JVM 进程缓存(caffeine)

服务级缓存(Redis)

数据持久层

§2 优势

  • 分担缓存压力
  • 进程缓存相对于分布式缓存,节省了网络io的开销,速度更快
  • 使用时,可以减少访问redis的频率,从根源上避免缓存的穿透、击穿、雪崩
  • 可用性更强,即使进程缓存、分布式缓存之一不可用,也不会导致整体缓存失效,可以争取服务恢复时间
相关推荐
Wang's Blog32 分钟前
Nestjs框架: 微服务事件驱动通信与超时处理机制优化基于Event-Based 通信及异常捕获实践
微服务·云原生·架构·nestjs
brzhang33 分钟前
读懂 MiniMax Agent 的设计逻辑,然后我复刻了一个MiniMax Agent
前端·后端·架构
YXWik636 分钟前
新版若依微服务增强swagger增强集成knife4j
微服务·云原生·架构
Wang's Blog38 分钟前
Nestjs框架: 微服务断路器实现原理与OPOSSUM库实践
运维·微服务·nestjs
深思慎考39 分钟前
微服务即时通讯系统(服务端)——文件存储模块全链路设计与实现(3)
linux·微服务·架构·c++项目·聊天系统
交换机路由器测试之路1 小时前
交换机路由器基础(二)-运营商网络架构和接入网
网络·架构
开发者如是说1 小时前
Compose 开发桌面程序的一些问题
前端·架构
山猪打不过家猪4 小时前
【无标题】
微服务
●VON4 小时前
【成长纪实】三个月的鸿蒙成长之路:大学生从0开始的鸿蒙心得与体会
华为·架构·harmonyos·鸿蒙·鸿蒙系统·鸿蒙开发·成长纪实
星梦清河4 小时前
Redis(四):缓存击穿及其解决方案(SpringBoot+mybatis-plus)
spring boot·redis·缓存