nginx源码分析--从源码看nginx框架总结

nginx源码总结:

1)代码中没有特别绕特别别扭的编码实现,从变量的定义调用函数的实现封装,都非常恰当,比如从函数命名或者变量命名就可以看出来定义的大体意义,函数的基本功能,再好的架构实现在编码习惯差的人实现也会黯然失色,如果透彻理解代码的实现,领悟架构的设计初衷,觉得每块代码就想经过耐心雕琢一样,不仅仅实现了基本的功能给你,为其他人阅读也会提供很好的支持。细致恰当的命名规则就可以看出作者的功力。

2)更好更高的软件性能体现在架构设计上,好的架构会让软件更加稳定、容易维护、便于扩展、从核心模块的实现到上层模块的封装,每个模块的任务划分,所有模块的关系。使用C语言,不借助任何容易,不借助完成任何第三方库(指实现上借助的库,而不是为了业务功能添加的第三方库,也不是指可以和nginx交互的第三方库),将内存的使用,将C++对象封装的思想诠释的同样完美,当然自己添加的模块必须在编译才可以被添加到可执行程序中。在实现的过程中按照一定的规则,按照一定的套路、按照原始的思想去实现。觉得架构比实现更重要,知道自己做什么比自己盲目去做更重要,更重要的是开始之前去构思自己的目标。

3)可以更明白大牛都是怎么出处理常见过得问题,同样是使用C语言,同样是基本的标志库函数、系统调用,对于经常害怕的调用(比如动态申请内存,比如资源的释放、比如数据发送的处理,比如各个模块的关系)看别人如何这么娴熟!自己也没有看的太洗,也不知道都知道了什么,在刚看时看的时候也觉得很什么,虽说现在肯定对有些基本问题不是很懂,但内心并不是那么胆怯,没有太多时间,尽可能追求最大收益,过一段时间肯定会忘,就想以前看别的代码一样忘得一干二净,但那么有趣的过程,从胆怯抵触到懵懂,从懵懂到了解,从了解到熟悉的递进过程是忘不了的!奉献一个在看的过程中自己注释过的源代码!通过学习!共同进步!

nginx源码分析--从源码看nginx框架总结,布布扣,bubuko.com

时间: 2024-10-06 18:00:14

nginx源码分析--从源码看nginx框架总结的相关文章

OpenStack_Swift源码分析——Object-auditor源码分析(2)

1 Object-aduitor审计具体分析 上一篇文章中,讲解了Object-aduitor的启动,其中审计的具体执行是AuditorWorker实现的,在run_audit中实例化了AuditorWorker类,并调用audit_all_objects方法,下面看此方法的具体代码实现: def audit_all_objects(self, mode='once', device_dirs=None): #run_forever传过来的mode 为forever description =

OpenStack_Swift源码分析——Object-auditor源码分析(1)

1 Object-auditor 的启动 Object-auditor的启动和object-replicator的启动过程是一样的,首先是执行启动脚本 swift-init object-auditor start 启动脚本会运行swift源码bin目录下的swift-ojbect-auditor if __name__ == '__main__': parser = OptionParser("%prog CONFIG [options]") parser.add_option('-

Android源码分析--MediaServer源码分析(二)

在上一篇博客中Android源码分析–MediaServer源码分析(一),我们知道了ProcessState和defaultServiceManager,在分析源码的过程中,我们被Android的Binder通信机制中的各种复杂的类关系搞的眼花缭乱,接下来我们就以MediaPlayerService为例来分析一下Binder的通信机制.首先来回顾一下: BpBinder和BBinder都是Android中Binder通信的代表类,其中BpBinder是客户端用来与Server交互的代理类,p代

OpenStack_Swift源码分析——ObjectReplicator源码分析(1)

1.ObjectorReplicator的启动 首先运行启动脚本 swift-init object-replicator start 此运行脚本的运行过程和ring运行脚本运行过程差不多,找到swift 源码bin下的swift-object-replicator其代码如下所示 if __name__ == '__main__': parser = OptionParser("%prog CONFIG [options]") parser.add_option('-d', '--de

OpenStack_Swift源码分析——ObjectReplicator源码分析(2)

1.Replicator执行代码详细分析 上篇问中介绍了启动Replicator的具体过程,下面讲解Replicator的执行代码的具体实现,首先看replicate方法: def replicate(self, override_devices=None, override_partitions=None): """Run a replication pass""" self.start = time.time() self.suffix_co

区块链教程以太坊源码分析core-state-process源码分析(二)

兄弟连区块链教程以太坊源码分析core-state-process源码分析(二):关于g0的计算,在黄皮书上由详细的介绍和黄皮书有一定出入的部分在于if contractCreation && homestead {igas.SetUint64(params.TxGasContractCreation) 这是因为 Gtxcreate+Gtransaction = TxGasContractCreation func IntrinsicGas(data []byte, contractCre

【原创】k8s源码分析-----kubectl(3)主要框架

本文QQ空间的链接:http://user.qzone.qq.com/29185807/blog/1461123088 本文csdn博文的链接:http://blog.csdn.net/screscent/article/details/51199351 源码为k8s v1.1.1 1.整体流程 我们先整体的流程走一遍,不用太过于关心看不看的懂,先有个整体的流程概念,后续再一步一步分析 1.1 main 先从main开始 代码在k8s.io\kubernetes\cmd\kubectl\kube

jQuery源码分析:源码结构与核心函数

jQuery源码分析-03构造jQuery对象-源码结构和核心函数 jQuery.fn和jQuery.prototype区别

ASimpleCache(ACache)源码分析(android轻量级开源缓存框架)

转载请注明出处:http://blog.csdn.net/zhoubin1992/article/details/46379055 ASimpleCache框架源码链接 https://github.com/yangfuhai/ASimpleCache 杨神作品,大家最熟悉他的应该是afinal框架吧 官方介绍 ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架.轻量到只有一个java文件(由十几个类精简而来). 1.它可以缓存什么东西? 普通的字符串.JsonObj