微服务架构 | 多级缓存

INDEX

通用设计概述

通用设计思路如下图

内容分发网络(CDN)

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

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

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

OpenResty

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

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

JVM 进程缓存(caffeine)

服务级缓存(Redis)

数据持久层

§2 优势

  • 分担缓存压力
  • 进程缓存相对于分布式缓存,节省了网络io的开销,速度更快
  • 使用时,可以减少访问redis的频率,从根源上避免缓存的穿透、击穿、雪崩
  • 可用性更强,即使进程缓存、分布式缓存之一不可用,也不会导致整体缓存失效,可以争取服务恢复时间
相关推荐
m0_748255261 小时前
ChatGLM2-6B模型推理流程和模型架构详解
架构
m0_748248231 小时前
深入探索鸿蒙NEXT:设计原理、架构揭秘与ArkTS应用开发【书籍推荐】
华为·架构·harmonyos
m0_748256341 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
大数据·hadoop·架构
AI人H哥会Java1 小时前
【Spring】基于XML的Spring容器配置——Bean的作用域
java·开发语言·后端·spring·架构
uhakadotcom2 小时前
2025年java技术发展趋势展望
java·后端·架构
小扳2 小时前
微服务篇-深入了解 XXL-JOB 分布式任务调度的具体使用(XXL-JOB 的工作流程、框架搭建)
数据库·分布式·spring·spring cloud·微服务·架构
被猫枕的咸鱼3 小时前
【免费分享】mysql笔记,涵盖查询、缓存、存储过程、索引,优化。
笔记·mysql·缓存
陶然同学4 小时前
【黑马头条训练营】day02-黑马头条-App端文章展示
java·数据库·spring cloud·微服务·项目
Jiude5 小时前
调试Cesium源码分析并解决在Vite中使用遇到的问题
前端·架构·cesium
hao_wujing5 小时前
云计算时代携程的网络架构变迁
网络·架构·云计算