OpenResty--------企业级理论实践篇
admin
2023-01-25 11:22:17
0

OpenResty背景

Nginx有很多的特性和好处,但是在Nginx上开发成了一个一直的难题,Nginx模块需要用C开发,而且必须需要符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。
OpenResty(也称为ngx_openresty, 后面简称为OR)是一个基于Nginx为基础核心,通过扩展第三方功能模块(如比:MySQL, PostgreSQL,Memcached,Redis等等),使我们可以用lua(脚本语言)对Nginx核心和三方扩展模块进行业务开发。

OpenResty优势

  • 核心

    基于Nginx核心为基础,完全运行于Nginx服务内部中。
    运行稳定,轻量级,内存占用少。

  • 事件驱动模型和非阻塞I/O

    利用 Nginx 本身的异步非阻塞的事件驱动进行I/O通信,
    利用 Nginx 本身的高效的多路复用模型 (epoll/linux, kqueue/freebsd, eventport/solaris)
    注:不仅仅是和 HTTP 客户端间的网络通信是非阻塞的,与MySQL、PostgreSQL、Memcached 以及 Redis 等众多远方后端之间的网络通信也是非阻塞的。

  • lua

    相对于nginx module (C)开发,lua本身具有语法简单,弱类型,自带GC(不用手动管理内存)等特性,大大减轻了开发上手难度。

  • 性能

    快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty 原理

Nginx 采用的是 master-worker 模型,一个 master 进程管理多个 worker 进程,基本的事件处理都是放在 woker 中,master 负责一些全局初始化,以及对 worker 的管理。
在OpenResty中,每个 woker 使用一个 LuaVM,当请求被分配到 woker 时,将在这个 LuaVM 里创建一个 coroutine(协程),协程之间数据隔离。

OpenResty--------企业级理论实践篇

相关内容

热门资讯

女子身份证丢失后名下出现“吸毒... 四川籍的庞女士定居浙江宁波多年,她怎么也没想到,因丢失身份证一事,竟让她陷入长达7年“自证清白”的困...
省农科院成功研发我省首个高粱全... 近日,记者从省农科院获悉,该院作物资源研究所、农业生物技术研究所联合石家庄博瑞迪生物,成功研制出省内...
消息称AMD与Anthropi... IT之家 7 月 22 日消息,据华尔街日报消息,AMD 与 Anthropic 达成了一项价值数百...
独家!苹果iPhone18系列... 7月22日,中国证券报记者从产业链人士处独家获悉,进入7月,苹果iPhone 18系列手机已在量产,...
29岁的党鑫蕊倒在广西泥泞山路... 7月11日晚一通叮嘱,成了父子最后的对话;几天后父亲在殡仪馆见到一身泥的儿子,才知道“他走得有多难。...
时隔一年,英国国防大臣斯特里廷... 一年前,当时还是英国卫生大臣的韦斯·斯特里廷(Wes Streeting)曾公开指责以色列犯下战争罪...
微软与Mistral宣布扩大战... 【CNMO科技消息】7月22日,据韩媒报道,微软与法国AI企业Mistral正式宣布大幅扩大双方战略...
东方空间引力一号(遥四)运载火... 本报讯 (记者袁传玺)北京时间7月22日10时54分,东方空间引力一号(遥四)·星联体号运载火箭在我...
“你的手上沾满鲜血”,美防长出... 当地时间21日,美国国防部长赫格塞思在出席国会参议院听证会时表示,根据最新估算,美国对伊朗战事的花费...
Kimi K3让美国羡慕又不甘... 北京时间7月17日凌晨,月之暗面公司发布开源大模型Kimi K3。据报道,该模型总参数规模达2.8万...