HTTP 协议发展史

HTTP 是浏览器与服务端之间最主要的通信协议,HTTP 是应用层协议(7层),应用层产生的数据会通过传输层协议作为载体来传输到互联网上的其他主机中,而其中的载体就是 TCP 协议(3.0使用UDP),基于 TCP 协议进行连接,然后传输对应内容信息。 20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,这被认为是互联网的起源。70 年代,研究人员基于对 ARPA 网的实践和思考,发明出了著名的 TCP/IP 协议。该协议具有良好的分层结构和稳定的性能,并在 80 年代中期进入了 UNIX 系统内核,促使更多的计算机接入了网络。 1989 年,蒂姆伯纳斯-李博士发表了一篇论文,提出了在互联网上构建超链接文档系统的构想。在篇文章中他确立了三项关键技术:URI、HTML、HTTP。 基于这三项技术,
14 min read

隐藏性能杀手之 '伪共享'

随着CPU工艺的发展,目前的高端CPU已经存在几十核心百多个线程,并为CPU设计出了一二三级缓存。CPU的核心有了这些缓存就可以加快数据的处理,从而减少访问内存的频率,这样CPU的计算性能可以进一步得到提高。 CPU的缓存结构以及内存硬盘: 众所周知CPU去访问一次内存所需要的开销是非常之大的,想要获取一次磁盘上的数据更是需要等待较长的时间,虽然目前已经有很多解决方案如 mmap 技术来缓解这样的情况,但总体来说CPU的计算性能是整个计算机结构中的天花板,其他硬件从数据传输速度层面对比起来就显得拖后腿,那么我们来看一下具体CPU访问每个硬件的延迟: 存储器存储介质介质成本(美元)随机访问延迟L1 cacheSRAM71nsL2 cacheSRAM74nsMemoryDRAM0.015100nsDisk SSD(NAND)0.0004150usDiskHHD0.0000410ms 可以得出外部存储设备容量越大成本越小,存储数据更多,但访问速度更慢,访问速度越快的设备造价更高,并且可以看到, CPU 访问 L1 Cache 速度比访问内存快 100 倍,这就是为什么 CPU 里会有
4 min read

StarVCenter 私有云部署

一套国产超融合云平台IaaS软件,能通过整合企业数据中心(机房)硬件,轻松搭建私有云。用户可方便地自助安装使用。 本产品基于KVM虚拟化技术自主研发。2009年,为了打破技术垄断,对VMware vSphere等国外软件进行国产化替代,我们坚持自主研发,采用基于kvm和linux内核自底层向上研发的技术路线,控制调度、计算、存储、网络等核心组件全部自研。通过在电力央企、军工、高校、医院等领域推广,支撑企业门户、权限、ERP等核心业务运行,在生产实践中持续迭代完善,累计发行40多个版本,入池节点超过10000台,稳定运行虚拟机超过180000台。 StarVCenter追求极致好用,社区免费使用(不超过20台物理服务器)、社区免费技术支持、永久免费升级。 项目官网: StarVCenter 一套国产超融合云平台IaaS软件,能通过整合企业数据中心(机房)硬件,轻松搭建私有云。用户可方便地自助安装使用。StarVCenter追求极致好用,20台服务器节点(含)以下无使用限制。 [http://www.starvcs.com/]项目白皮书:
2 min read

7层网络协议

1、物理层: 解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。 2、数据链路层: 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。 3、网络层: 计算机网络中如果有多台计算机,怎么找到要发的那台?如果中间有多个节点,怎么选择路径?这就是路由要做的事。 该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。 4、传输层:
3 min read

Linux 系统不同发行版对比

linux系统有着不同的发行版本,不同的组织对其自己的发行版进行维护。此次笔记记录我认知的部分发行版的区别。 1、Debian 是目前我最喜欢使用的发行版,它的10版本非常稳定,并且系统占用非常小。是目前我在生产环境的选择。 Debian -- The Universal Operating SystemThe Universal Operating System [https://www.debian.org/]2、CentOS 是 Red Hat 从商业收费操作系统的分支版本,在商业操作系统上进行了免费。功能以及稳定性目前也是非常不错,但肯定在某些地方有阉割。毕竟人家有一个收费的系统。并且 CentOS 目前已经停止了维护,原作者 Gregory Kurtzer 也启动了新项目的 Rocky Linux 操作系统。 The CentOS Project [https://www.centos.org/]3、
2 min read

Linux 目录结构分析

/bin:存放着常用的指令和二进制可程序。 /boot:存放启动Linux系统的内核文件,包括连接文件和镜像文件。 /dev:Device(设备)的缩写,是 Linux 系统目前连接的外部设备,外部设备的访问和文件访问的方式一样。 /etc:专用于存放系统的配置文件和子目录列表。 /home:用户文件夹,每个系统账号都会创建一个不同的文件夹名称。 /root:管理员用户的主目录。 /run:临时文件目录,存储系统启动以来的临时信息,当系统重启,该目录下的文件将会被清理掉。 /opt:optional “可选择”的意思,作用是安装第三方软件的地方 /sbin:管理员用户才能执行的命令和程序文件夹。 /tmp:临时文件目录。10天内未访问、未更该或未修改的文件将自动从这个目录中删除。 /usr:用户应用程序和文件放置的文件夹目录。 /var:存放着经常变动的文件,例如系统日志等文件。
1 min read

Linux 挂载新磁盘

1、磁盘连上主板(很重要) 2、重启系统 reboot 3、查看磁盘检查到没有 > fdisk -l 4、进入磁盘 > fdisk /dev/{磁盘名称} 5、把磁盘分区设置好,可以只分一个区 6、格式化分区 > mkfs.ext4 /dev/{分区名称} 7、挂载分区 mount /dev/{分区名称}  /{某个文件夹} 8、设置开启自动挂载,编辑 /etc/fstab 文件 > vim /etc/fstab 添加如下信息 > /dev/(磁盘分区) /(挂载目录) ext4(文件格式)defaults 0 0
1 min read

随心笔记

hi 欢迎留言,共同探讨IT技术~