当前位置:   article > 正文

《深入分布式缓存 从原理到实践》笔记_深入分布式缓存:从原理到实践 pdf

深入分布式缓存:从原理到实践 pdf

第一章

1.1 缓存分类

  • 根据软件系统中的位置不同,分为三类:
    • 客户端缓存
    • 服务端缓存
    • 网络中缓存
  • 根据规模和部署方式分类
    • 单体缓存
    • 缓存集群
    • 分布式缓存

1.2 为什么要用缓存

提高系统性能,减少网络带宽使用,提高系统吞吐量,

1.3 缓存发展-网页

静态页面缓存->动态页面组件缓存->数据库分库分表->分布式缓存

1.4 客户端缓存

分为页面缓存和浏览器缓存

  • 页面缓存主要是客户端将页面保存成文件,获取的时候不通过网络而是本地获取在这里插入图片描述
  • 浏览器缓存,浏览器会在硬盘上开辟一个空间来储存资源副本作为缓存,提高客户端在浏览网页过程中的访问资源速度。
  • APP缓存,APP主要将缓存放在内存或者数据库和本地文件中,

1.5 代理和边缘缓存

反向代理可以缓存原始资源服务器的一些资源,帮助客户端以更快的速度获取web资源。边缘缓存最典型的就是CDN,CDN是内容分发网络的简称:
在这里插入图片描述

1.6 服务端缓存

1.数据库缓存:比如Mysql的查询缓存,缓存Mysql query的结果集ResultSet。这样就省略了解析,优化器优化和存储引擎取数据的过程。
2.平台级缓存:Encache,JBoss等
3.应用级缓存:redis

一个使用了多级缓存架构的系统如图:
在这里插入图片描述

第二章

2.1 PAXOS,2PAC,3PAC,RAFT,LEASE

这里讲了这几个分布式系统的中的算法和概念

脑裂:一个高可用系统中,两个有联系的节点之间断开连接后,两个节点争抢共享资源导致系统混乱的过程。
解决方法:仲裁机制,比如slave要变成master的时候,让第三方的仲裁节点也ping一下master。


2.2 分布式系统设计策略

  1. 检测你还活着?
  2. 高可用
  3. 容错机制
  4. 重试机制
  5. 负载均衡

1.心跳检测
2.高可用设计模式
  • 主备模式:主机宕机的时候,备机接管主机的一切工作,比如数据库中的Master-Slave架构
  • 互备模式:两个主机
  • 集群模式:有多个节点在运行,同时可以通过主控节点分担请求
3.容错性

2.3 分布式系统设计实践

1.全局ID生成

业界有几种方案:

  • UUID:当前日期时间+机器识别号组成,但问题是字符串格式太长了
  • Mysql自增长ID,FLicker的方案,需要两个表
  • SnowFlake:https://blog.csdn.net/qq_32828253/article/details/110679170,是twitter的一种分布式ID生成算法

第三章 动手写缓存

在这里插入图片描述

缓存的架构

参考JSR107规范
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/539235
推荐阅读
相关标签
  

闽ICP备14008679号