01 2017 档案
摘要:项目开发过程中经常使用了基于libuv库封装的库接口来实现异步处理,一直没仔细研究过这些接口的内部如何实现,因此也就没有掌握它的设计思想。今天花了点时间研究了其事件循环内部的一些过程,总算有了一些理解,理解还不够深刻,先记录下来: 1、循环流程 2、它的整体结构基于事件循环,简单的说就是外部的接口(
阅读全文
摘要:看到一篇不错的描述红黑树的文章,转载过来~ 定义 红黑树的主要是像是对2-3查找树进行编码,尤其是对2-3查找树中的3-nodes节点添加额外的信息。红黑树中将节点之间的链接分为两种不同类型,红色链接,他用来链接两个2-nodes节点来表示一个3-nodes节点。黑色链接用来链接普通的2-3节点。特
阅读全文
摘要:TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议 所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范
阅读全文
摘要:unitedstack有云 :https://www.ustack.com/blog/ceph_infra/
阅读全文
摘要:1.tcp断开连接时为什么要有timewait状态 2.画出tcp三次握手四次挥手状态切换图 3.libuv事件循环接口内部都是怎么实现的?libuv利用了什么机制? 4.协程与线程的区别是什么?为什么要有协程?如何用C实现协程? 5.nosql相比较关系型数据库有什么优点 6.分析下nginx源码
阅读全文
摘要:我们都知道Go语言是原生支持语言级并发的,这个并发的最小逻辑单元就是goroutine。goroutine就是Go语言提供的一种用户态线程,当然这种用户态线程是跑在内核级线程之上的。当我们创建了很多的goroutine,并且它们都是跑在同一个内核线程之上的时候,就需要一个调度器来维护这些gorout
阅读全文
摘要:DHCP共有八种报文,分别为DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK、DHCP NAK、DHCP Release、DHCP Decline、DHCP Inform。各报文类型功能如下所述: DHCP Discover DHCP客户端请求地址时,并不
阅读全文