0%

Openresty taste

采集用户行为信息的服务器(B),采用openresty开发.

openresty的lua开发,看了作者提供的例子,以及官网源码,还有一个框架vanilla,觉得开发思路果然和之前的php或者node不一样

打个比方就像是做了一个截胡

通常php会作为一个服务挂着,用php-fpm开放端口,获取nginx(或Apache)的请求,处理完成后,再交由nginx返回给用户.这中间有几道请求和初始化等动作.

而lua作为一个嵌入式脚本,是在nginx启动的时候加载到nginx里的,可以说少了一道请求,另外处理业务思路上也更加贴合nginx处理请求的方式.

了解得多了,反而会比较纠结,以前只了解php,感觉来了业务无聊什么功能都能用php解决.现在觉得,这个模块可以用node搞搞,那个模块可以用lua试试.一下子增加了好多维度.

简直就是在织一张网.

其实如果从架构思路上看,用openresty的lua的确可以架构出很优美的微服务系统,而如果对nginx有了更深入的了解后,抛开开发团队的学习成本,从架构层面用php或者其他语言也完全没有问题.

反正对于的子业务子模块都已经被拆分,用lua或者不用,突然觉得像是个人喜好问题了.