计算高可用多级缓存架构

缓存原理与设计框架

  缓存(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:无

 

 

posted on 2022-11-10 19:08  李某人的窥视  阅读(76)  评论(0)    收藏  举报

导航