微服务架构 | 多级缓存

INDEX

通用设计概述

通用设计思路如下图

内容分发网络(CDN)

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

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

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

OpenResty

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

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

JVM 进程缓存(caffeine)

服务级缓存(Redis)

数据持久层

§2 优势

  • 分担缓存压力
  • 进程缓存相对于分布式缓存,节省了网络io的开销,速度更快
  • 使用时,可以减少访问redis的频率,从根源上避免缓存的穿透、击穿、雪崩
  • 可用性更强,即使进程缓存、分布式缓存之一不可用,也不会导致整体缓存失效,可以争取服务恢复时间
相关推荐
weixin_462428476 分钟前
使用 Caffeine 缓存并在业务方法上通过注解实现每3到5秒更新缓存
java·缓存
Daniel 大东1 小时前
idea 解决缓存损坏问题
java·缓存·intellij-idea
喵叔哟1 小时前
【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--访问权限中间件
微服务·中间件·.net
起飞的风筝1 小时前
【redis】—— 环境搭建教程
数据库·redis·缓存
丶21361 小时前
【WEB】深入理解 CORS(跨域资源共享):原理、配置与常见问题
前端·架构·web
菜菜-plus2 小时前
分布式,微服务,SpringCloudAlibaba,nacos,gateway,openFeign
java·分布式·微服务·nacos·gateway·springcloud·openfeign
CodingBrother3 小时前
软考之面向服务架构SOA-通信方法
架构
古人诚不我欺3 小时前
Redis设置密码认证,以及不重启服务情况下设置临时密码
数据库·redis·缓存
码哥字节4 小时前
重生之从零设计 MySQL 架构
数据库·mysql·架构
喵叔哟6 小时前
【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--角色可访问接口管理
数据库·微服务·.net