Raft2A

本文进行简短的6.824中lab2的简单实现梳理,以及对应的注意事项

Read more »

MapReduce

本文进行6.824中第一个lab的分析,基于课程的要求,本文不给出对应的代码,当然,本文的主要目的是对于本个lab的实现进行自我复盘,回顾下要实现MapReduce这种框架的最小可行实现需要我们来提供什么

Read more »

GateServer

本节进行网关服务器的线程模型的分析

Read more »

ResServer

本节进行资源服务器的简单分析

Read more »

系统设计中的端到端论据

J.H. Saltzer, D.P. Reed 和 D.D. Clark*
麻省理工学院计算机科学实验室

作者地址:J.H. Saltzer 和 D.D. Clark,麻省理工学院计算机科学实验室,马萨诸塞州剑桥市科技广场545号,邮编02139;D.P. Reed,Software Arts, Inc.,马萨诸塞州韦尔斯利市Mica Lane 27号,邮编02181。
本研究部分由美国国防部高级研究计划局(ARPA)资助,海军研究办公室(ONR)根据合同号 N00014-75-C-0661 监督。
1981年4月8-10日法国巴黎第二届分布式计算系统国际会议论文修订版,第509-512页。© 1981 电气和电子工程师协会(IEEE)版权所有。经许可转载。
发表于《ACM计算机系统汇刊》第2卷第4期,1984年11月,第277-288页。
转载于 Craig Partridge 编辑的《互联网创新》,Artech House, Norwood, MA, 1988, 第195-206页。ISBN 0-89006-337-0。另计划转载于 Amit Bhargava 编辑的《综合宽带网络》,Artech House, Boston, 1991。ISBN 0-89006-483-0。
Scribe/FinalWord 源文件:http://web.mit.edu/Saltzer/www/publications/


Read more »

GateServer

​ 在该栏目中,我将会对于我的项目中的服务器进行一次review,在review中去重新回顾我的服务器架构来巩固我对于一个服务器设计上的理解,话不多说,直接开始。

Read more »

思考

​ 2025/4/26,今天,我又陷入了有关我自己一个CSer到底应该如何学习CS的思考。

​ 在之前,我整个大一阶段都是一个摆烂的阶段,在这个阶段中,我对于整个CS的了解是相当贫乏的,甚至可以说整个一年以来都是止步不前的。所幸的是,在大一的后半段时间,我简单的进入了一点算法的学习,简单的把自己带入了算法的领域。虽然说到现在大二这个阶段我早就将算法这一块排除我接下来努力的区域了,但是所幸的是我没有将自己的CS思维僵化。

​ 万幸的是,在大一下的最后时间中,我简单的进入了一个小游戏demo的学习,在这个过程中,我接触到了一个相当重要的朋友,一个东南大学的跟我同级的学生。不知为何,我开始有了一种不甘心的想法,我在想着为什么我会输给他,因此,我开始不想输给他。正是因为有了这一层的压力。我正式开始了我的CS入门。

​ 可以说,一开始的我是相当磕磕绊绊的,甚至可以说是完全不知道该怎么走。所幸的是,对应的哪个985同学总是会发表一些言论,说目前在学哪本书,在学哪个领域。由于一种不甘心的情绪,我一直在跟着他的进度去搞,虽然说是一种照猫画虎,不过这倒也是给我的CS学习正式往前迈进了一步。

​ 时间一直推到了后面的大二阶段,在这个阶段,我开启了影响最大的一个时期。还是在这个时期,那个同学去学了CSAPP,我也算是一种跟风吧,也去学了这本书。一学了这本书之后,我突然感觉惊为天人,原来CS还可以这么学,我突然对于CS的兴趣也给提了起来。我逐渐开始自己去学习一些书本,但是直到大二上学期结束这个阶段,我还是照着那个同学走过的路在跟着走,在这个学期中,我了解了CSAPP,设计模式,数据结构,还有一些零碎的东西。

​ 接着,逐渐出现了一些分流,到了寒假,由于个人问题,我需要去进行打寒假工,而那个同学选择了去完成一个JAVA的黑马项目。我们的路途逐渐发生了改变。但回想过来,这个时间点可以说是真正推动我走向一个属于自己的CS路线的抉择。在这个令人感到无聊的寒假工中,我突然发现了这种流水线是如此的无趣,我绝对不能再之后再回到这里。到了该寒假工结束之后,我感觉我个人发送了一种全新的蜕变。我不再是将学习视作为一种应付的事,而是将其视为了一种能够摆脱自己命运的途径。

​ 接下来,我到了大二下,也就是我现在的这个学期。可以说,这个学期一开始,我突然感觉到了一种从所未有的紧迫感,我突然发现之前已经浪费了过多的时间,我已经没时间再浪费了。我收拾心情,开始使自己进入一个学习阶段。不知道是否是压力的原因,我在这个阶段的学习相当的自律。我完成了简单的数据库的了解,当然只是简单的过了一遍。然后我突然发现,好像大二下也可以去实习,我就开始我的项目的学习,然后我又发现我的项目需要网络的基础前置,我又开始去补充网络的基础。

​ 在网络的学习中,我突然发现了一种前所未有的通透感,我突然发觉我好像把前面CSAPP等领域学的东西都串了起来,或者说,我使用了前面学到的基础知识来支撑起了我的模块领域的快速入门学习。在这个阶段中,我越学越透彻,我感觉我好像找到了自己的学习路径。我也没有再去询问那个同学他的学习路线,而是专注与自己的学习了。我感觉我开始逐渐往一个真正独立的CSer上面走了。

​ 再之后,我快速的过了网络的基础之后,我进入了我的项目的学习。我的项目我个人感觉其实也是过的很快。甚至于快到我现在已经忘记了前面的一些区域的内容了。这也是为什么我这一大段字会出现的原因,我开始了我自己的一个review,我开始审视自己的整个学习过程了。我回到了前面项目一开始搭建的服务器中,我突然发现我看不懂了,但是我再深入的去review了该服务器,我突然又发现,好像又通了。甚至于把之前一些模糊的地方,也给打通了。

​ 之前网络中关于ASIO和Beast等的内容,由于过的很快,我甚至于不了解对应的关系,但是在这次的review中,我重新掌握住了对应的逻辑。我明白了对应的其实是一个应用层协议的添加所带来的特化。而,这个,又是我在空闲时补充的计算机网络基础课程中的东西,这些个基础东西又给我补充了这些个项目。

​ 自此,我发现了属于我自己的一个简化的学习路线。由广度的初步学习,来进入深度的学习,再由深度学习中会产生的一些问题,来再次回到我们广度的学习中去,以此来实现我整个学习过程中的闭环。而且,这对于我来说是一种类似于正反馈的机制。我在构建我的基础时避免了一些漏洞,在实际的项目中学习,再在review后重新发现了我对于项目的一个不了解,这个不了解又推动我回去对应的基础广度上的学习补全。这实现了对于我来说的一个闭环。而且这种闭环不断推动着我向前去学习,至少现在对于我来说是这样的。


Redis 自动结构调优机制与用户接口视图

一、整体概述

Redis 在内部为不同数据结构提供了一套 自动结构优化机制,其目的是在保证性能和内存效率的前提下,自动选择合适的底层结构。这种机制对用户是 完全透明的,开发者在使用时无需关注底层细节,只需专注于对外暴露的接口。

Read more »