上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页
摘要: 还在持续学习中,本文是一个阶段性的总结。 一、select select的核心是不停的遍历文件描述符,看看是否就绪。一般最多同时支持1024个文件描述符。 1.1 select函数 int select(int nfds, fd_set *readfds, fd_set *writefds,fd_s 阅读全文
posted @ 2020-12-04 23:28 iBrake 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 一、阻塞IO的问题 上一篇讲了阻塞式IO,在阻塞IO中,如果有大量的并发请求,势必要针对请求开启多线程,针对每一个请求开启一个线程,这样每一个线程的处理时间就会包含之前的T1+T2这两个等待数据的时间,白白浪费了服务器的线程资源。 服务器核心要做的事情是等数据到了我再做事情。服务器的线程处理时间里面 阅读全文
posted @ 2020-11-27 23:19 iBrake 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 一、TCP交互以及Socket API调用 三次握手建立TCP以后开始传输数据。 Accept后对于服务端来说整个socket创建完毕,直接进入read状态。read是一个阻塞调用,所谓阻塞是指服务器进入等待,直到read返回。 read其实是的主要时间是等待数据ready: 客户端发送后,有可能发 阅读全文
posted @ 2020-11-25 23:09 iBrake 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 内存模型 内存划分 数据本身 redis进程运行本身需要的内存 缓冲区 内存碎片 存储细节 数据模型 dicEntry:每一个键值对(Key-Value)都会有一个dicEntry。 Key:redis key,以SDS的格式存储 redisObject:redis value,以redisObje 阅读全文
posted @ 2020-11-22 19:06 iBrake 阅读(143) 评论(0) 推荐(1) 编辑
摘要: Docker 1.利用chroot和pivotroot对内部文件系统伪造,限制系统访问范围 2.通过namespace隐藏外部系统 3.CGroup(Linux Control Group)控制对资源的使用上限(内存,cpu、磁盘等) 参考:https://www.cnblogs.com/xuany 阅读全文
posted @ 2020-11-20 16:08 iBrake 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 一、何为拥塞 路由器无法处理高速到达的数据而被迫丢弃数据的现象叫做拥塞。 二、何为拥塞控制 TCP流量控制时为了平衡一个链接中接收方和发送方的速度匹配问题,当发送方发现发送速度大于接收方的接收速度时动态调整发送速度。 但是成千上万的TCP链接共享着整个网络基础设施,当网络上这些TCP都在传输数据时, 阅读全文
posted @ 2020-11-15 23:03 iBrake 阅读(842) 评论(0) 推荐(0) 编辑
摘要: TCP采用个各种办法来减少流量的传输量以及信道的利用率。 延时确认-减少传输数量 TCP允许延迟一会再发送ACK,这样可以将ACK和相同方向的数据结合起来进行发送,从而降低ACK的数量,在一定程度上减轻网络负载。 图中通过延迟ACK减少了一个ACK的传输数量 也叫稍带确认(piggybacking) 阅读全文
posted @ 2020-11-10 22:27 iBrake 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 之前介绍的可靠数据传输原理: 1. 可靠数据传输基本原理(1)-解决数据受损问题 2. 可靠数据传输基本原理(2)-解决数据丢失问题 3. 可靠数据传输基本原理(3)-滑动窗口 本文主要介绍TCP字节的可靠传输原理,基本原理和之前介绍的差不多,但是TCP本身字节实现的时候有一定的差异和优化。 序号和 阅读全文
posted @ 2020-11-01 19:38 iBrake 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 前两篇文章分别解释了可靠性传输要解决的两件事情: 1:数据受损怎么办 2:数据丢失怎么办 可靠性传输核心解决办法: 1:停等协议(等前一个彻底确认发送成功后再发送下一组数据) 2:重传(如果传输受损,重传;如果传输丢失,重传) 通过以上两个方法外加序列号,校验等已经实现了可靠性传输。但是有性能问题 阅读全文
posted @ 2020-10-31 20:23 iBrake 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 网络信道不可靠的点 1. 数据在传输的过程中有可能会受损(上一篇文章说明了如何解决这个问题) 2. 数据在传输的过程中有可能会丢失(本文说明如何解决这个问题) 传输层的可靠性协议就是解决上面两个问题的。 消除NAK,用ACK代替NAK 在上一篇文章中如果接收方检测数据有失真,直接回复一个NAK给发送 阅读全文
posted @ 2020-10-22 21:46 iBrake 阅读(375) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 20 下一页