day08 认识存储&数据库
1 经典案例
数据流动:前端--后端服务器--数据库--其他系统
数据的持久化:检验数据合法性--修改内存(用高效数据结构组织数据)--写入存储硬件
2 存储&数据库简介
存储系统:提供读写、控制接口,安全有效实现数据持久化
RAID技术:
“独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。
”
“RAID 0是连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但是它没有数据冗余(即备份功能)
RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
RAID 0不能应用于数据安全性要求高的场合
“
“RAID 1的工作模式是同时在两块磁盘中分别写入完整的数据,使磁盘具有冗余功能,但是写入的性能就会有所下降。
“
资料来源:什么是RAID? - 掘金 (juejin.cn)
3 主流产品剖析
3.1 单机存储
本地文件系统、key-value存储(牺牲一定读性能、写入友好)
3.2 分布式存储
“什么是分布式存储?
传统的网络存储系统是采用集中的存储服务器存放所有数据。随着数据的增加,系统可靠性与安全性的弊端日趋显现,无法满足大规模的存储应用需要。
分布式存储系统是将数据分散存储在多台独立的设备上。采用可扩展的系统结构,利用多台存储服务器分担存储负荷、定位存储信息,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。 ”
作者:新爷话数据 链接:juejin.cn/post/709562… 来源:稀土掘金
3.3 单机数据库 关系型数据库
3.4 单机数据库 非关系型数据库
3.5 分布式数据库
4 新技术演进
软件架构变更、AI增强、新硬件革命
day04 HTTP框架修炼之道
1 走进HTTP协议
已知知识,不再赘述。
2 HTTP框架的设计与实现
2.1 分层设计
2.2 应用层设计
提供合理的API
2.3 中间件设计
中间件需求:1)配合handler实现一个完整的请求处理生命周期;2)拥有预处理和后处理逻辑;3)可以注册多中间件;4)对上层模块用户逻辑模块易用
2.4 路由设计
前缀匹配树
2.5 协议层设计
2.6 网络层设计
bio:读--处理--写 弊端:可能会卡在某一步等待
nio:与bio相比,注册了一个监听器