暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

图解nginx的模块开发

法师塔 2022-11-04
545


总感觉语言的表达力必须配合着语气、表情和手势,如果离开了这些其实语言是很不精确的,尤其是中文,特别不适合描述技术,平时我与同事沟通,如果没有确定的领域语言其实相当时间都是在鸡同鸭讲,你觉得听明白了,我觉得我说明白了,其实你听明白的不是我想说的,我说明白的不是你听明白的。但一张图不容易有歧义,因为等于用图形统一了领域语言,我想换一种风格,看看能不能用图来说明白一些技术的原理。

nginx的模块开发是nginx开发的一种主要形式,其他的还有upsteam开发,过滤器开发,但主要还是模块开发。

nginx的处理过程分为11个阶段,每个阶段展开来看都是用c语言来实现的责任链模式,每个阶段都有许多的handle,又被责任链连接,按顺序执行。所谓的模块开发往简单了说就是开发handle。

现在用openresty就大大简化了这个过程,openrest用lua嵌入到最后一个handle的最后面,这样在不影响nginx本身的前提下实现了嵌入式开发。openresty本身嵌入了nginx的11个阶段中的7个。

以上说了这么多,试试挡住下图,还能不能理解?


文章转载自法师塔,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论