设计与架构
木子的木木
着眼于Java服务端高级技术,沉浸于开源代码,并对图像处理、NLP、CV较为有兴趣
展开
-
[原理] 说说Web请求的过程
在面试过程中,我们可能都遇到过这个问题,如果我们不是很理解整个过程,可能觉得就是客户端发送请求,服务端处理请求这个简单的过程。但是在工作中,我发现对这个问题理解的深度能让你更快且精确的定位到的问题的所在,最起码能知道是不是我们服务端的问题,接下来小生姑且根据目前自己的理解和参考资料对过程进行梳理。文章目录DNS解析域名发起连接三次握手发送HTTP请求路由转发和路由选择Nginx反向代理服务器...原创 2019-12-29 16:24:09 · 860 阅读 · 2 评论 -
定时器设计:传统方法和时间轮算法
组成触发“时针”pointer转动的Ticker:一般使用定时循环(一般使用死循环,每次循环sleep小段时间)存放定时任务的环形哈希表工作过程当Ticker触发时,pointer进行自增,在每一次自增中都会对pointer对应的槽中任务链表进行扫描,执行并删除过期的任务,直至pointer的时间与当前时间一致。核心问题如何设计高效哈希表以适应不同的定时任务?Ticker的设计这两个问题都会通过分析下面的示例后进行解答。示例FastDFSFastDFS的使用时间轮实现超时控制以及.原创 2020-06-16 11:04:01 · 852 阅读 · 0 评论