写点什么

架构师训练营 1 期 - 第八周总结(vaik)

用户头像
行之
关注
发布于: 2020 年 11 月 16 日
架构师训练营 1 期 - 第八周总结(vaik)

本周概要

  1. 第一课主要讲解从硬盘硬件特性到文件系统的分块存储,再到Raido硬盘阵列的原理,再到分布数据系统HDFS的机制原理,如何实现几秒并行存储上T的文件。

  2. 第二课重温了数据结构和算法,包括数组,链表,Hash表,栈,队列,

  3. 第三课主要讲解二叉树,平衡二叉树,红黑树,跳表等的特性及应用

  4. 第四课重点讲解穷举算法,递归算法,贪心算法,动态规划等经典算法

  5. 第五课讲解的网络通信机制原理,七层模型,网络数据包的传输过程,IP负载均衡的实现原理,再到http协议不同版的优缺点。

  6. 第六课 从阻塞IO的由来到非阻塞IO的实现,JAVA NIO到系统IO的复用方式:select,poll,epoll

文件系统与硬盘IO

机械硬盘

物理转速有限,容易损坏,一次查找耗时几豪秒至几十毫秒,连续数据块的读取写入较快,随机数据块的读取和写入效率低慢

固态硬盘

相对机械硬盘的转速,固态硬盘是基于电子的速度,速度上是量级的提升,同样存储芯片颗粒,是物理分开的,所以连续块读取写入快,随机数据块的读写慢

B+树

即索引树,基于上述硬盘的分块存储的物理特性而设计的方件存储结构,

LSM

日志存储结构,append

文件控制块

我的理解:硬盘格式化就是把硬盘空间以块为单位划分,每个文件占若干块。

  • linux Inode文件控制块,四层索引,12+256+256*256+256*256*256 单个文件最大不超过70G

RAID 独立硬盘冗余阵列

可以简单的理解为基于硬件的分布式存储

分布式文件系统HDFS

name node

data node



常见数据结构与Hash表原理分析

时间复杂度,空间复杂度

NP问题

数组

链表

Hash表

队列



各种树原理与性能特性

二叉排序树

平衡二叉树

红黑(排序)树

跳表

经典算法

递归算法(快速排序算法)

贪心算法

改进贪心算法-(最快路径)

动态规划算法

遗传算法

网络通信的基本原理与性能优化

一次Web请求所经历程

OSI七层模型与TCP/IP四层

网络数据包格式

物理层

链路层

数据链路层负载均衡

网络层

IP负载均衡

传输层

TCP3次握手

TCP4次挥手

HTTP协议

http请求七种方法,get,post,put,delete,head,trace,options

http响应5种状态

http协议版,http/1.0,http/1.1,http/2



非阻塞网络I/O

多线程服务器-客户端

线程池服务器

BIO Blocking I/O 阻塞 I/O

Socket 接收数据,系统内核的处理过程

非阻塞 I/O( Non-Blocking I/O )

Java NIO (New I/O)

系统 I/O 复用方式:select,poll,epoll



用户头像

行之

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 1 期 - 第八周总结(vaik)