《周志明的软件架构课》学习笔记 Day16
主动学习
服务端缓存
为系统引入缓存的理由
从开发角度来说,引入缓存会提高系统的复杂度,因为你要考虑缓存的失效、更新、一致性等问题(硬件缓存也有这些问题,只是不需要由你来考虑,主流的 ISA 也都没有提供任何直接操作缓存的指令);
从运维角度来说,缓存会掩盖掉一些缺陷,让问题在更久的时间以后,出现在距离发生现场更远的位置上;
从安全角度来说,缓存可能泄漏某些保密数据,这也是容易受到攻击的薄弱点。
理由有
第一种,为了缓解 CPU 压力而做缓存。
第二种,为了缓解 I/O 压力而做缓存。
一种是以 Guava Cache 为代表的同步处理机制。即在访问数据时一并完成缓存淘汰、统计、失效等状态变更操作,通过分段加锁等优化手段来尽量减少数据竞争。
另一种是以 Caffeine 为代表的异步日志提交机制。这种机制参考了经典的数据库设计理论,它把对数据的读、写过程看作是日志(即对数据的操作指令)的提交过程。
写在最后
缓存可能存在什么风险弊端?
1,缓存数据与源数据的一致性(如与数据库不一致等)
2,开发过程中需要程序员操作缓存,要求程序员正确使用
3,缓存数据线上排查问题比较麻烦,进程内缓存无法探查缓存内容
《周志明的软件架构课》学习笔记 Day16相关推荐
- 读《周志明的软件架构课》--学习笔记和感想随笔
主要记录对周老师的<周志明的软件架构课>的学习笔记,本篇章是对课程不可变基础设施部分的学习,从虚拟化的技术理解容器技术的产生和发展,从部署运维角度理解应用的封装,从网络虚拟化理解容器网络, ...
- 《周志明的软件架构课》学习笔记 Day11
1.主动学习 TCC事务 TCC(Try-Confirm-Cancel) TCC 方案,它天生适合用于需要强隔离性的分布式事务中,它是一种业务侵入性较强的事务方案,要求业务处理过程必须拆分为" ...
- 《周志明的软件架构课》学习笔记 Day6
1.主动学习 RESTful 服务 REST概念:资源,表征,状态,转移. 服务端与客户端分离(Client-Server) 无状态(Stateless) 可缓存(Cacheability) 分层系统 ...
- 《周志明的软件架构课》学习笔记 Day7
1.主动学习 本地事务如何实现原子性和持久性 事务处理 事务处理几乎是每一个信息系统中都会涉及到的问题,它存在的意义就是保证系统中的数据是正确的,不同数据间不会产生矛盾,也就是保证数据状态的一致性(C ...
- 《周志明的软件架构课》学习笔记 Day1
1.主动学习 每个开发者都需要学习「如何构建一个可靠的分布式系统」 工作这么多年,发现架构设计,还是需要从业务中来迭代,「作为一名架构师,在软件研发的过程中,最难的事儿,其实并不是如何解决具体某个缺陷 ...
- 《周志明的软件架构课》学习笔记 Day5
1.主动学习 远程服务调用(Remote Procedure Call,RPC) RPC 是我们构建分布式系统的最基本前置条件. 这篇文章我们来了解周志明老师笔下的 RPC. RPC 出现的最初目的, ...
- 《周志明的软件架构课》学习笔记 Day15
主动学习 负载均衡 集群部署的特点 信息系统都需要利用多台机器来扩展服务能力,希望用户的请求不管连接到哪台机器上,都能得到相同的处理. 必须对用户一侧保持足够的透明,即使请求背后是由一千台.一万台机器 ...
- 《周志明的软件架构课》学习笔记 Day13
主动学习 浏览器的客户端缓存 背景:当万维网刚刚出现的时候,浏览器的缓存机制差不多就已经存在了.在 HTTP 协议设计之初,人们便确定了服务端与客户端之间"无状态"(Statele ...
- 周志明jvm第三版笔记-第一部分:第一章 走进java
1.1 概述:java过去.现在.未来简要概述 1.2 java技术体系 Java技术体系包括了以下几个组成部分: Java程序设计语言: 各种硬件平台上的Java虚拟机实现: Class文件格式: ...
最新文章
- c++ 高通、低通、带通滤波器_射频/微波滤波器
- python3 分割函数 partition rpartition 函数
- python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间的方法
- python 网页登录selenium_使用selenium登录网页
- standardscaler中参数copy的作用
- java mybatis 代码生成器_Java MyBatis-Plus 代码生成器
- mqtt java_MQTT和Java入门
- k8s安装nginx部署前端页面_Kubernetes(k8s)部署并测试nginx service
- Box2D物理引擎的使用方法
- WA5320-C-EI无线接入点,WX2510H-F无线控制器设置WAPI
- 计算机中英汉字段如何切换,电脑上中英文切换按哪个键
- 使用 openssl 进行 base64 编解码
- Google邮箱账号登陆存在异常活动怎么办?
- Java使用zip4j库 压缩文件工具类(自适应压缩包编码格式)
- 读书百客:《临江仙引·画舸》赏析
- 富途证券赴美上市喜迎开门红,盘中一度大涨近45%
- NFT国内化的“数字藏品” 国内互联网龙头的入局
- 解决Windows莫名其妙地从休眠状态唤醒的问题
- 二分法解一元三次方程c语言,电子技术的应用用二分法解一元三次方程的C++程序:保护环境的广告语...
- u盘linux 修复grub,CentOS修复Grub