微服务架构 | 多级缓存

INDEX

通用设计概述

通用设计思路如下图

内容分发网络(CDN)

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

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

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

OpenResty

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

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

JVM 进程缓存(caffeine)

服务级缓存(Redis)

数据持久层

§2 优势

  • 分担缓存压力
  • 进程缓存相对于分布式缓存,节省了网络io的开销,速度更快
  • 使用时,可以减少访问redis的频率,从根源上避免缓存的穿透、击穿、雪崩
  • 可用性更强,即使进程缓存、分布式缓存之一不可用,也不会导致整体缓存失效,可以争取服务恢复时间
相关推荐
AIbase20245 小时前
AI技术架构与GEO算法原理如何重塑搜索引擎可见性
人工智能·搜索引擎·架构
期待のcode7 小时前
Spring框架1—Spring的IOC核心技术1
java·后端·spring·架构
EkihzniY9 小时前
OCR 识别表现好坏离不开什么?
缓存
hzzzzzo09 小时前
微服务核心组件实战:Nacos 与 Ribbon 的应用
spring cloud·微服务·ribbon·nacos·架构
java1234_小锋9 小时前
RocketMQ的集群架构是怎样的?
架构·rocketmq·java-rocketmq
core51210 小时前
Hive实战(一)
数据仓库·hive·hadoop·架构·实战·配置·场景
zzu123zsw10 小时前
第一章 ELK Stack基础概念与架构
elk·架构
爱吃烤鸡翅的酸菜鱼11 小时前
【Redis】常用数据结构之Hash篇:从常用命令到使用场景详解
数据结构·数据库·redis·后端·缓存·哈希算法
Pretend° Ω11 小时前
LRU缓存详解:用C语言实现高效数据管理
运维·c语言·spring·缓存·lru·双向链表
不良人天码星13 小时前
Redis单线程模型为什么快?
数据库·redis·缓存