首页 > 其他分享 >计算高可用多级缓存架构

计算高可用多级缓存架构

时间:2022-11-10 19:24:23浏览次数:35  
标签:缓存 http 多级 更新 本地 架构

缓存原理与设计框架

  缓存(cache)介于速度相差较大的两个硬件之间,调解速度传输差异 --空间换时间

    3W1h

      内容

      有效期

      缓存方案 http缓存 app缓存 redis memcache……

      更新机制 过期更新(有效期内一直使用缓存,超过有效期后重新读取 如http) 定期更新(定时更新缓存) 主动更新(当数据修改后主动更新缓存)

  缓冲(buffer) 临时储存区域,保存一个到另个设备的数据

 

多级缓存架构

  5级缓存架构(本地缓存、cdn、web容器、应用缓存、分布式缓存)

    多级缓存架构核心

      性能需求

      架构复杂度

  4级缓存架构(比5级去掉了CDN)

  3级缓存架构(比4级去掉了 应用类缓存)

 

  本地缓存

    app

      app将数据缓存到本地:sqlite、本地文件、本地图片(picasso、glide、fresco)

    http

      http标准协议缓存:参考http协议,cache-control、ifnonematch

  cdn缓存-内容分发网络

    各地的边缘服务器通过中心网络的算法使用户就近获取内容 提高响应速度和命中率

  web容器缓存

    一般缓存静态资源

  应用缓存  应用在本地缓存的数据

    进程缓存(threadlocal) concurrenthashmap、oscache、ehcachae、进程外缓存、堆外缓存、磁盘ssd缓存

 

  分布式缓存  分布式系统提供的缓存功能

    redis memcached

SSD为什么能缓存

  随机读性能 微秒级,机械硬盘是毫秒级

redis&memcahed对比

  高可用

    r:集群分片、主备复制

    m:一致性hash、重启丢数据

  数据结构

    r: Kv结构、五种数据结构

    m:Kv结构、value无类型

  性能:

    r:(旧版本) 单核,小数据量读写效率高

    m:多核,大数据量读写效率高

  集群方案:

    m:一致性hash、客户端算法实现

    r:主备、集群、哨兵

  并发方案:

    r:(旧版本)单进程、epoll

    m:多线程,libevent

  持久化

    r:rdb、aof

    m:无

 

 

标签:缓存,http,多级,更新,本地,架构
From: https://www.cnblogs.com/windghost/p/16878003.html

相关文章

  • 146.LRU 缓存
    请你设计并实现一个满足LRU(最近最少使用)约束的数据结构。实现 LRUCache 类:LRUCache(intcapacity) 以 正整数 作为容量 capacity 初始化LRU缓存intget(int......
  • 【深入浅出 Yarn 架构与实现】2-3 Yarn 基础库 - 服务库与事件库
    一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对Yarn的服务库和事件库进行介绍,看看Yarn是如何解......
  • 政务云安全架构建设思路
    各地政务云在安全建设存在安全管理权责边界不清晰、安全防护有技术缺体系、安全运营重技术轻管理、安全监管缺手段少抓手等问题。为解决政务云在安全建设时存在的问题,构建......
  • Guava LoadingCache本地缓存的正确使用姿势——异步加载
    1.【背景】AB实验SDK耗时过高同事在使用我写的实验平台sdk之后,吐槽耗时太高,获取实验数据分流耗时达到700ms,严重影响了主业务流程的执行2.【分析】缓存为何不管用我记......
  • 【k8s连载系列】2. k8s整体架构
    一、Kubernetes的整体架构学习k8s,最终目的是为了部署应用,部署一个完整的k8s,就要知道k8s的组成。k8s主要包含两大部分:中间包含三个绿色包的是master服务器.下面是node......
  • 不只是负载均衡,活字格智能集群的架构与搭建方案
    还在单机服务器,时刻面临宕机风险吗?优化程度不够,响应速度缓慢,系统工作响应像老汉拉车吗?为了帮助大家具备企业级应用的部署能力,轻松应对核心业务系统的部署要求,我们准备了......
  • SpringBoot整合Ehcache缓存(二十二)
    二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。上一章简单介绍了SpringBoot整合Cache缓存技术(二十一),如果没有看过,​​请观看上一章​​一.Ehcache关于......
  • 用java做一个内存缓存
    项目中对接第三方系统需要先获取认证token后,才能调用其他接口,token的有效期(固定为1小时),如果使用redis来做,十分简单,设置redis缓存加上1个小时有效期就可以解决。现在需要自......
  • 手机充电放电架构与工作流程原理讲解
    一、概述电池充放电电路是手机中最关键的电路之一,是手机一切功能的源头,如果该电路出现问题会使得整个手机工作不稳定,甚至无法开机。手机的电是从电池来的,电池电......
  • 浏览器的缓存机制
    浏览器的缓存机制(强缓存、协商缓存)先来粗略的概念:什么是浏览器的缓存机制浏览器的缓存机制就是把一个请求过的web资源(例如:html页面、图片、js、数据等)拷贝一份副......